索引器!!的其他使用!

2021-05-22 06:16:42 字數 1687 閱讀 4649

索引器型別及其引數型別必須至少如同索引器本身一樣是可訪問的。有關可訪問級別的更多資訊,請參見訪問修飾符

。索引器的簽名由其形參的數量和型別組成。它不包括索引器型別或形參名。如果在同一類中宣告乙個以上的索引器,則它們必須具有不同的簽名。

索引器值不歸類為變數;因此,不能將索引器值作為 ref

或 out

引數來傳遞。

要為索引器提供乙個其他語言可以使用的名字,請使用宣告中的 name 屬性。例如:

copy code

[system.runtime.compilerservices.indexername("theitem")]

public int this [int index] // indexer declaration

此索引器將具有名稱 theitem。不提供名稱屬性將生成 item 預設名稱。

下面的示例說明如何宣告私有陣列字段、arr 和索引器。使用索引器可直接訪問例項 test[i]。另一種使用索引器的方法是將陣列宣告為 public

成員並直接訪問它的成員 arr[i]。

c# copy code

class indexerclass

else

}set}}

}class mainclass

= ", i, test[i]);}}

}

element #0 = 0

element #1 = 0

element #2 = 0

element #3 = 256

element #4 = 0

element #5 = 1024

element #6 = 0

element #7 = 0

element #8 = 0

element #9 = 0

element #10 = 0

請注意,當計算索引器的訪問時(例如,在console.write語句中),將呼叫 get

訪問器。因此,如果get訪問器不存在,將發生編譯時錯誤。

c# 並不將索引型別限制為整數。例如,對索引器使用字串可能是有用的。通過搜尋集合內的字串並返回相應的值,可以實現此類的索引器。由於訪問器可被過載,字串和整數版本可以共存。

在此例中,宣告了儲存星期幾的類。宣告了乙個get訪問器,它接受字串(天名稱),並返回相應的整數。例如,星期日將返回 0,星期一將返回 1,等等。

c# copy code

// using a string as an indexer value

class daycollection

; // this method finds the day or returns -1

private

int getday(string testday)

i++;

}return -1;

}// the get accessor returns an integer for a given string

public

intthis[string day]

}}class program

}

5

-1

提高索引器的安全性和可靠性有兩種主要的方法:

索引器與迭代器的使用

選代器的本地檔案 e diablo inumerator classlibrary2 classlibrary2 program.cs c 索引器使用方法介紹 訪問類中的集合,希望好像類本身就是乙個陣列一樣引器是一種c 的語法構造,可以用我們熟悉的陣列方括號語法訪問類中的集合 語法 型別 this ...

Material Design的其他使用

material design給予影象兩個新功能tint著色和clip剪裁 第乙個著色很簡單,你只需要在xml檔案中配置好android tint屬性和android tintmode屬性就可以。效果顯而易見,如圖所示 接下來說一下裁剪的功能,你可以通過裁剪改變乙個檢視的外形。首先需要使用viewo...

C 索引器 索引器的定義

索引器定義類似於屬性,但其功能與屬性並不相同。索引器提供一種特殊的方法編寫get和set訪問器。屬性可以像訪問字段一樣訪問物件的資料,索引器可以使使用者像訪問陣列一樣訪問類成員。定義索引器的語法如下 訪問修飾符 型別名稱 this 型別名稱 引數名 set索引器沒有像屬性和方法那樣的名字,關鍵字th...