Q
c中的项属性#
2
A
回答
4
MyList[0]
是一个索引器,它使你像数组一样访问对象。定义的语法是这样的:
public T this[int index]
{
// reduced for simplicity
set { internalArray[index] = value; }
get { return internalArray[index]; }
}
编译器生成的方法:
public T get_Item(inde index)
{
return internalArray[index];
}
和
public void set_Item(inde index, T value)
{
internalArray[index] = value;
}
有List.Add(something)
和List[0] = something
没有关系。第一种方法是将值附加到列表的末尾。第二个是调用方法List.set_Item(0, something)
的语法糖。
除非CLAR语句直接支持[]
语法(与数组类似),否则它是在类中定义的索引器,它使用上面解释的语法糖。
2
根据上面的文档,索引器定义如下。
public virtual object this[
int index
] { get; set; }
更准确地说,实际上是没有Item
属性,但该索引被称为文档中“商品属性”。
相关问题
- 1. C#ContextMenuStrip项目属性!
- 2. C#属性的属性
- 3. 检查Objective-C中目录中项目的属性C
- 4. 在QML中更改父项属性时的子项属性
- 5. 找不到项目属性中的C/C++
- 6. C#属性的强制性属性
- 7. C#/ WPF:依赖项属性没有更新绑定属性?
- 8. c#中的参数属性
- 9. lambdas和c中的属性#
- 10. C#中的属性优势
- 11. C#中的字段属性#
- 12. C#中的Array.ICollection.Count属性#
- 13. WPF布尔依赖项属性C#
- 14. 添加项目属性 - c#winform
- 15. 换行选项属性(C#VS 2005)
- 16. 动态删除属性的C#属性
- 17. 删除列表的重复项,选择C#中的属性值?
- 18. Objective C中各个类的属性C
- 19. C#的属性集
- 20. 使用CSS3属性函数的子项中父项的属性值
- 21. 删除项目c#/窗口中的属性app.config
- 22. 如何在C#项目中检索EmbeddedResource的DependentUpon属性
- 23. Visual Studio C#项目中的自定义构建操作属性
- 24. 从UITypeEditor中,检索应用于属性父项的属性.net
- 25. 显示在已搜寻属性选项中的属性(搜索)
- 26. XmlRoot属性c#
- 27. Objective-C属性
- 28. C#空属性
- 29. C#Stream.ReadTimeout属性
- 30. C#属性表
语法糖?这是什么意思,你能解释一下吗? –
@PranitaJain简单地说,我将语法糖看作编译器提供的语法快捷键,以使我们的生活更轻松。编译器将其转换为正确的语法。例如,你编写'array.ToList();'编译器将它改为'Enumerable.ToList(array);'(这些是扩展方法) – user3185569
得到它。感谢您的详细解答。 –