list[i]是C#中list.get_item(i)的别名吗

本文关键字:list 别名 item get | 更新日期: 2023-09-27 17:58:21

我将传递一个lambda表达式作为参数。

在这种情况下,someObject具有someObject.property可访问的名为property的属性。

当我通过:o => o.childListOfObjects[0].property

其中childListOfObjectsList<someObejct>

CCD_ 7返回CCD_。

跳到最后:

list[i]是C#中list.get_item(i)的别名吗?

list[i]是C#中list.get_item(i)的别名吗

是的,属性通常只是get_PropertyNameset_PropertyName方法的语法糖。

索引器——例如list[i]——只是一种特殊类型的属性,基本上是围绕get_Item(i)set_Item(i)方法的语法糖。

(请注意,索引器属性不一定要称为Item,但它在List<T>上就是这样称的,这也是自定义类型上索引器的默认名称,除非您使用IndexerNameAttribute覆盖它。)

List<T>的文档是这样说的:

默认的Item属性(C#中的索引器)用于检索项目

因此,是的,list[i]是索引器,这是默认属性,在本例中为Item。根据上下文是读还是写,它将是getset Item[i]

另请参阅:索引器

方括号可以重载,它们被称为索引器。所以我们需要知道list是什么类的实例。

编辑:哎呀,没看到那个列表就是一个列表。我不知道你的意思是什么,但是,没有List<T>.getItem()

不一定。List定义了一个索引器,该索引器很可能只调用get_item,但这并不能保证,索引器中可能定义了更多隐藏逻辑。。。但答案可能是肯定的。

相关文章: