gpt4 book ai didi

c# - C# 中的项目属性

转载 作者:行者123 更新时间:2023-11-30 20:19:41 25 4
gpt4 key购买 nike

C# 中的项目属性是否总是像 C# 中的索引器一样使用?让我用example来解释. ArrayList 具有许多属性,如计数、容量,其中之一是 Item。Item 属性与计数和容量不同,后者是通过在 ArrayList 的名称后面加上点来访问的,它不是由关键字 Item 使用,而是直接由 Indexer 使用。例如

ArrayList MyList = new ArrayList();
MyList.add(100);
MyList[0] = 200;

如上使用 Item 关键字来定义索引器而不是实现 Item 属性。

我的查询:我可以说每当在 c# 中解释 Item 属性时,都应该隐含地理解它在术语中引用索引器吗?

最佳答案

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) 的语法糖。

除非 CLR 直接支持 [] 语法(如数组),否则它是在使用语法糖的类内部定义的索引器,如上所述。

关于c# - C# 中的项目属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38260565/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com