Properties in C# 是命名成員,它們使用訪問修飾符來設置和檢索以安全方式聲明的字段的值。屬性用於通過僅定義重要操作並隱藏其實現來抽象和封裝對類字段的訪問。屬性通過說明的名稱調用,並且可以聲明為靜態成員或實例成員。
在 C# 中聲明屬性的語法:
[access_modifier] [return_type] [PropertyName] { //body of property }
Indexers in C# 是充當數組的數據成員,允許您以相同的方式訪問要索引的對象內的數據。索引器始終聲明為實例成員,而不是靜態成員。索引器的實現方式與屬性相同,隻是索引器的聲明必須至少有一個參數。
在 C# 中創建索引器的語法:
[access_modifier] [return_type] this [parameter] { get { // return value } set { // return value } }
C# 中屬性和索引器的區別
特性 | 索引器 | |
---|---|---|
1. | 屬性是通過給出唯一的名稱來聲明的。 | 索引器的聲明沒有給出名稱。 |
2. | 屬性由名稱標識 | 而索引器是通過簽名來識別的。 |
3. | 屬性可以聲明為靜態成員或實例成員。 | 索引器始終聲明為實例成員,而不是靜態成員。 |
4. | 屬性是通過說明的名稱調用的。 | 使用所創建對象的索引來調用索引器。 |
5. | 屬性在創建時不需要此關鍵字。 | 索引器在其關鍵字中需要此關鍵字。 |
6. | 屬性的 get 訪問器沒有任何參數。 | 屬性的 get 訪問器包含與索引器相同的適當參數的列表。 |
相關用法
- C# String Clone()用法及代碼示例
- C# String Compare()用法及代碼示例
- C# String CompareOrdinal()用法及代碼示例
- C# String CompareTo()用法及代碼示例
- C# String Concat()用法及代碼示例
- C# String Contains()用法及代碼示例
- C# String Copy()用法及代碼示例
- C# String CopyTo()用法及代碼示例
- C# String EndsWith()用法及代碼示例
- C# String Equals()用法及代碼示例
- C# String Format()用法及代碼示例
- C# String GetEnumerator()用法及代碼示例
- C# String IndexOf()用法及代碼示例
- C# String Insert()用法及代碼示例
- C# String IsInterned()用法及代碼示例
- C# String IsNormalized()用法及代碼示例
- C# String IsNullOrEmpty()用法及代碼示例
- C# String IsNullOrWhiteSpace()用法及代碼示例
- C# String Join()用法及代碼示例
- C# String LastIndexOf()用法及代碼示例
- C# String LastIndexOfAny()用法及代碼示例
- C# String Normalize()用法及代碼示例
- C# String PadLeft()用法及代碼示例
- C# String PadRight()用法及代碼示例
- C# String Remove()用法及代碼示例
注:本文由純淨天空篩選整理自ashushrma378大神的英文原創作品 Difference Between Properties and Indexers in C#。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。