gpt4 book ai didi

.net - Arraylist 使用 Array?

转载 作者:行者123 更新时间:2023-12-04 22:25:40 26 4
gpt4 key购买 nike

ArrayList 是否在内部使用 Array?如果我们使用默认构造函数 (new ArrayList()),这是一个空数组吗?谢谢。

最佳答案

是的,它确实。验证这一点的最简单方法之一是查看来源。您可以使用 reference source ,也可以简单地使用 .NET Reflector 来反编译 .NET DLL。

这是 ArrayList 的相关部分,来自 Reflector:

public class ArrayList : IList, ICollection, IEnumerable, ICloneable
{
static ArrayList()
{
emptyArray = new object[0];
}

public ArrayList()
{
this._items = emptyArray;
}

private object[] _items;

private static readonly object[] emptyArray;

// etc...
}

你不应该总是依赖于这种情况。这是一个实现细节,可能会在 .NET 的 future 版本中更改(尽管可能不会)。同样对于新代码,您应该考虑使用 List<T> 而不是 ArrayList

关于.net - Arraylist 使用 Array?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2706332/

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