簡體   English   中英

C#索引器用法

[英]C# Indexer Usage

要使用索引器,我們使用以下格式:

class ClassName
{
    DataType[] ArrayName = new DataType[Length]; 

    public DataType this[int i]
    {
        get { return ArrayName[i]; }
    }
}

為了簡單起見,盡管我們也可以使用自定義索引器,但我還是使用了格式。 根據我的理解,我們將保留一個已索引的屬性數組。

我的問題是:

  1. 它是模板屬性嗎?
  2. 使用此索引器,何時何地可以實現高級代碼優化?

這與代碼優化無關。
您可以在您的類中編寫一個方法,使您可以從其擁有的集合中獲得項目。

例如

public DataType GetItemByIndex(int i)
{
}

索引器以一種“語法糖”的方式,允許用戶將實例視為數組或集合。

這不是模板屬性,而是有參數屬性-這是接受參數實參的屬性。

歸結為一個get_Item(Int32)方法來代替通常由編譯器發出的無參數屬性的get_Item()方法。 因此,這不會帶來很多優化的機會。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM