C# 中的 set 和 get 主要應用于屬性(Property)
簡化訪問:通過使用 set 和 get,您可以將類的內部實現隱藏起來,僅暴露一個簡潔的界面供外部訪問。這使得代碼更易于閱讀和維護。
數據驗證:在 set 和 get 中,您可以添加數據驗證邏輯,以確保設置的值滿足特定條件。例如,您可以檢查值是否在有效范圍內,或者是否為預期的數據類型。
通知更改:當屬性值發生變化時,您可以使用 set 和 get 來觸發事件,以便其他類或對象可以相應地更新其狀態。這有助于保持數據的一致性和同步。
控制訪問級別:您可以根據需要設置 set 和 get 的訪問級別(如 public、protected、internal 或 private),以控制對類成員的訪問權限。
以下是一個簡單的 C# 類示例,展示了如何使用 set 和 get:
public class Person
{
private string _name;
public string Name
{
get { return _name; }
set
{
if (!string.IsNullOrEmpty(value))
{
_name = value;
}
else
{
throw new ArgumentException("Name cannot be null or empty.");
}
}
}
}
在這個示例中,我們有一個名為 Person
的類,它有一個名為 Name
的屬性。我們使用 get 訪問器返回 _name
的值,使用 set 訪問器設置 _name
的值。在 set 訪問器中,我們添加了一個簡單的數據驗證,以確保 Name
不為空或空字符串。如果值無效,我們拋出一個 ArgumentException
。