索引器允許類或結構的例項就像陣列一樣進行索引。無需顯式指定型別或例項成員,即可設定或檢索索引值。 索引器類似於屬性,不同之處在於它們的訪問器需要使用引數。
1.需要注意幾點
2.具體實現如下:
**實現如下:
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace grammarly_csharp
set }}
class program
}}
為了支援這種情況,表示式主體成員提供了一種經過簡化的語法。 自 c# 6 起,可以表示式主體成員的形式實現唯讀索引器,如以下示例所示。
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace grammarly_csharp
elements.");
arr[nextindex++] = value;}}
class program
}}
自 c# 7.0 起,get 和 set 訪問器均可作為表示式主體成員實現。 在這種情況下,必須使用 get 和 set 關鍵字。 例如:
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace grammarly_csharp
}class program
}}
索引器與屬性相似。 除下表所示的差別外,對屬性訪問器定義的所有規則也適用於索引器訪問器。
屬性索引器
允許以將方法視作公共資料成員的方式呼叫方法。
通過在物件自身上使用陣列表示法,允許訪問物件內部集合的元素。
通過簡單名稱訪問。
通過索引訪問。
可為靜態成員或例項成員。
必須是例項成員。
屬性的 get 訪問器沒有任何引數。
索引器的 get 訪問器具有與索引器相同的形參列表。
屬性的 set 訪問器包含隱式 value 引數。
索引器的 set 訪問器具有與索引器相同的形參列表,value 引數也是如此。
通過自動實現的屬性支援簡短語法。
不支援簡短語法。
以上就是今天的索引器的小結,覺得有用的可以收藏一下。
1.
C 基礎系列(2)之迭代器
在.net中,迭代器模式被ienumerator和ienumerable及其對應的泛型介面所封裝。如果乙個類實現了ienumerable介面,那麼就能夠被迭代 呼叫getenumerator方法將返回ienumerator介面的實現,它就是迭代器本身。迭代器類似資料庫中的游標,它是資料序列中的乙個位...
C 之索引器
索引器 索引器允許類或結構的例項按照與陣列 相同的方式進行索引。索引器類似於屬性,不同之處在於它們的訪問器採用引數。語法 訪問修飾符 資料型別 this 資料型別 識別符號 set using system using system.collections.generic using system....
C 之 索引器
索引器允許類或者結構的例項按照與陣列相同的方式進行索引取值,索引器與屬性類似,不同的是索引器的訪問是帶參的。索引器和陣列比較 1 索引器的索引值 index 型別不受限制 2 索引器允許過載 3 索引器不是乙個變數 索引器和屬性的不同點 1 屬性以名稱來標識,索引器以函式形式標識 2 索引器可以被過...