C 基礎系列(1)之索引器

2021-08-19 20:44:30 字數 1510 閱讀 8528

索引器允許類或結構的例項就像陣列一樣進行索引。無需顯式指定型別或例項成員,即可設定或檢索索引值。 索引器類似於屬性,不同之處在於它們的訪問器需要使用引數。

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 索引器可以被過...