C# c语言中索引器的内存分配#
我在C#中使用Indexer,但我想知道什么时候会为Indexer分配内存,因为Indexer包含对象数组。 下面是indexer的演示代码C# c语言中索引器的内存分配#,c#,indexer,C#,Indexer,我在C#中使用Indexer,但我想知道什么时候会为Indexer分配内存,因为Indexer包含对象数组。 下面是indexer的演示代码 class person{ private object[] _demo = new object[ 2 ]; public object this[int i] { get { return _demo[ i ]; } set { _demo[ i ] = value; } } }
class person{
private object[] _demo = new object[ 2 ];
public object this[int i]
{
get { return _demo[ i ]; }
set { _demo[ i ] = value; }
} }
现在我的问题是什么时候为indexer分配内存,因为indexer可以包含所有类型的数据类型值 索引器不包含任何内存。这只是一对方法,一个用于获取,一个用于设置。内部用于实现索引器的数组确实占用内存,并且在通过
new
分配类的实例时进行分配。这里有三个完全独立的部分:
对象[2]
数组。数组本身就是一个使用内存的对象。但是,此对象仅存储引用,因此无论您在其中放置什么,它的大小始终相同尽管如此,无论是对于“对象”还是“数组”,对象数组都很少是一个好的设计选择部分。这并不重要,因为OP的类是从
对象
派生的,没有任何显式构造函数,但更具体地说,\u demo
对象是在输入person
类的构造函数之前创建的。