我想最简单的答案是看看你如何使用(比方说)List<T>.你愿意写:
string foo = list[10];
Run Code Online (Sandbox Code Playgroud)
要么
string foo = list.Get(10);
Run Code Online (Sandbox Code Playgroud)
同样对于字典,您更愿意使用:
map["foo"] = "bar";
Run Code Online (Sandbox Code Playgroud)
要么
map.Put("foo", "bar");
Run Code Online (Sandbox Code Playgroud)
?
就像属性一样,与仅遵循约定的命名方法相比,它们并不真正需要 ......但是在我看来,它们使代码更容易理解 - 这是功能可以做的最重要的事情之一.