C# - 有意义的应用程序的索引器

7 c# language-features

我理解索引器使我们能够访问类中的集合,就像类本身是一个数组一样.

假设我们正在开发一个项目,我们在哪里适合这些索引器的真实实际用法(例如可能有帮助)?

Mic*_*tta 8

查看框架中几乎任何集合类的示例.如果我要使用没有索引器的语言从散列表中检索项目,我会使用如下语法:

object o = table.getvalue(key);
Run Code Online (Sandbox Code Playgroud)

索引器允许更简单的语法:

object o = table[key];
Run Code Online (Sandbox Code Playgroud)

(故意忽略上述示例中的输入/泛型问题)


Jor*_*oba 5

您在框架本身的泛型集合中有几个示例.字典是一个很好的例子:

Dictionary<string, User> Users;

Users["Jorge"].ResetPassword();
Run Code Online (Sandbox Code Playgroud)

这将是非常优雅和简单的

Users.GetElementByKey("Jorge").ResetPassword();
Run Code Online (Sandbox Code Playgroud)