【发布时间】:2011-01-12 04:57:50
【问题描述】:
我已经看过很多关于 c# 索引器的示例,但它在现实生活中对我有什么帮助。
我知道如果它不是一个严肃的特性,C# 大师不会添加这个,但我想不出现实世界的情况(不是 foo bar 的东西)来使用索引器。
注意:我知道related question 存在,但它对我没有多大帮助。
【问题讨论】:
-
不是在List-type、LinkedList-type、Dictionary-type或其他集合中? ;) 通常当您有一个列表时,提供索引器被认为是有用的,因此可以使用 myList[k] 而不是 myList.Get(k) 或 VB 版本的 myList.Item(k)
-
@Skurmedel 请解释一下,我显然遗漏了一些东西
-
所以我有一个包含字段“col”的类,它是一个集合,当我需要访问“col”中的特定值时,我将使用索引器跨度>
-
是的,如果你的类模仿某种存储或者它包含你可能想要检索的单个数据片段。 String 有一个索引器,因此您可以执行 str[1] 来检索第二个字符。 FontStorage[key] 可能有意义,Font[key] 可能没有。数据如何存储通常并不重要,但接口(外观/表示)决定了索引器是否有意义。也就是说,我很少使用它们,但有时它们会派上用场。我制作了一个 ASP.NET 缓存包装器,其中 Cache["key"] 有意义,是一个真实世界的场景;)
-
不要忘记 DataSet 和 DataTable 以及 DataColumn 和 DataRow。这些也都使用索引器!