8
A
回答
15
這是一個索引器。
索引器允許將類或結構的實例編入索引,就像 數組一樣。索引器類似於屬性,但它們的訪問器參數爲 。 索引器提供類似數組的語法。它允許類型以與數組相同的方式訪問 。索引器等屬性通常會訪問 後備存儲。我們經常接受int類型的參數並訪問數組類型的後備存儲。
從http://www.dotnetperls.com/indexer
string s = "hello";
Console.WriteLine (s[0]); // 'h'
Console.WriteLine (s[3]); // 'l'
讀它實現一個索引
要編寫索引,定義了一個名爲此屬性,在方指定的參數 支架。例如:
class Sentence
{
string[] words = "The quick brown fox".Split();
public string this [int wordNum] // indexer
{
get { return words [wordNum]; }
set { words [wordNum] = value; }
}
}
下面是我們如何使用這個索引:
Sentence s = new Sentence();
Console.WriteLine (s[3]); // fox
s[3] = "kangaroo";
Console.WriteLine (s[3]); // kangaroo
一個類型可以聲明多個索引,每個不同類型的參數。一個 索引也可以採取多個參數:
public string this [int arg1, string arg2]
{
get { ... } set { ... }
}
索引器內部編譯成所謂的get_Item
和set_Item
方法,如下所示:
public string get_Item (int wordNum) {...}
public void set_Item (int wordNum, string value) {...}
編譯器在默認情況下,您選擇的名稱Item
實際上可以將此更改爲 用以下屬性裝飾您的索引器:
[System.Runtime.CompilerServices.IndexerName ("Blah")]
7
7
這就是所謂的索引。閱讀更多關於它們的信息at MSDN。
相關問題
- 1. 「聊齋志異」 C#語法
- 2. 視覺聊齋志異行爲
- 3. 聊齋志異「跳舞」的效果
- 4. 聊齋志異 「殭屍」 在forwardInvocation:+ getArgument:atIndex方法
- 5. 聊齋志異「未定義的方法`absolute_path」錯誤
- 6. 聊齋志異「緩存」客戶端和服務器
- 7. 聊齋志異「未定義的引用」,以模板成員
- 8. 聊齋志異「參數不可選」錯誤VBA
- 9. 聊齋志異「雙向綁定」式觸發
- 10. 的Python - 聊齋志異「意外縮進」錯誤
- 11. 聊齋志異「減少」的JDK8批量收集操作庫方法組
- 12. 聊齋志異「無法推導出模板參數的‘T’」的錯誤
- 13. 聊齋志異「無效的轉換,從<type>到<type>」錯誤
- 14. 聊齋志異「的非const引用無效初始化」使用模板
- 15. 聊齋志異「.slick-上一個:之前」在我的CSS文件中的代碼
- 16. 目標C屬性語法
- 17. C#屬性語法this []
- 18. 聊齋志異「無法找到符號」錯誤(從終端編譯包)所有的
- 19. 枚舉標誌屬性C#
- 20. 正確的語法爲C#屬性
- 21. Objective-C點語法或屬性值?
- 22. C#獲取LDAP屬性語法OID
- 23. C#中的數組屬性語法#
- 24. IllegalArgumentException異常與Spring PropertyPlaceholderConfigurer屬性標誌
- 25. PHP語法屬性
- 26. 性能差異語法
- 27. C#方法屬性
- 28. C#具有標誌的枚舉屬性
- 29. C#PowerShell管道輸入標誌/屬性
- 30. JMS的語法Header屬性
「我認爲自己是C#的新手,任何人都可以在C++中提供幫助」等等,什麼? – BoltClock
@BoltClock一個C++的人在C#中看到了這個? – Shark
@Shark:這也是我的想法 - 但只有在雙重考慮之後。 – BoltClock