如果熟悉 GIthub 我們經常可以在一些開源項目的 PR 上看到會配置測試的驗證以及覆蓋率的報告,並且可以強制覆蓋率不低於設定的值才可以進行 Merge PR。 1.測試 創建一個 xUnit 單元測試項目。 Class /// <summary> /// Represents a class w ...
在C#中,Auto屬性是一種簡單而方便的方式來定義類的屬性。但是,對於Auto屬性的初始值,有幾種不同的方法可以考慮,每種方法都有其優缺點。下麵是一些常用的方法:
- 直接初始化
最簡單的方法是在Auto屬性聲明中直接給定一個初始值。例如:
public string Name { get; set; } = "John";
這種方式可以確保屬性始終具有初始值,並且代碼簡潔。然而,如果需要複雜的初始化邏輯,這種方式可能不太適合。
- 構造函數初始化
另一種常用的方式是使用類的構造函數來初始化屬性。例如:
public class Person
{
public string Name { get; set; }
public Person()
{
Name = "John";
}
}
這種方式可以提供更多的靈活性,因為可以在構造函數中進行更複雜的初始化邏輯。但是,需要註意的是,如果類有多個構造函數,需要在每個構造函數中初始化屬性。
- 屬性初始化器
C# 6及以上版本中,可以使用屬性初始化器來初始化屬性。例如:
public string Name { get; set; }
public Person()
{
Name = "John";
}
這種方式比直接初始化更靈活,因為可以在聲明之後的任何時候初始化屬性。但是,需要註意的是,如果屬性被多個構造函數使用,那麼需要在每個構造函數中初始化屬性。
- 靜態構造函數初始化
靜態構造函數是在類第一次使用之前執行的代碼塊,可以使用靜態構造函數來初始化Auto屬性。例如:
public class Person
{
public static string DefaultName { get; set; } = "John";
public string Name { get; set; }
static Person()
{
Name = DefaultName;
}
}
這種方式可以提供更多的靈活性,並且可以使用靜態變數來存儲初始值,但是需要註意的是,只有一個靜態構造函數,而且它不能帶任何參數。
總的來說,給Auto屬性一個初始值的最佳方法取決於具體的情況和需求。以上列出的幾種方法都有其優缺點,需要根據實際情況選擇適合自己的方式。
來源 https://www.lum114.com/post/E8OJ3wMAgk
陳巨集博說他再想想