當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C# Properties和Indexers的區別用法及代碼示例


Properties in C# 是命名成員,它們使用訪問修飾符來設置和檢索以安全方式聲明的字段的值。屬性用於通過僅定義重要操作並隱藏其實現來抽象和封裝對類字段的訪問。屬性通過說明的名稱調用,並且可以聲明為靜態成員或實例成員。

Difference-Between-Properties-and-Indexers-in-CSharp

在 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 訪問器包含與索引器相同的適當參數的列表。

相關用法


注:本文由純淨天空篩選整理自ashushrma378大神的英文原創作品 Difference Between Properties and Indexers in C#。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。