C#中的ArrayListList<>有什么区别?

是不是只有List<>有一种类型,而ArrayList没有?

推荐答案

是的,差不多.List<T>是一个通用类.它支持存储特定类型的值,而无需向object转换或从object转换(在ArrayList情况下,如果T是值类型,则会产生装箱/拆箱开销).ArrayList只存储object个引用.作为一个通用集合,List<T>实现了通用IEnumerable<T>接口,可以在LINQ中轻松使用(无需任何CastOfType调用).

ArrayList belongs to the days that C# didn't have generics. It's deprecated in favor of List<T>. You shouldn't use ArrayList in new code that targets .NET >= 2.0 unless you have to interface with an old API that uses it.

.net相关问答推荐

安装特定主要版本的DotNet SDK最新版本

PowerShell 5.1和7在使用证书时的区别

如何查询 DOTNET_CLI_TELEMETRY_OPTOUT 是否永久设置为 TRUE?

使属性只能通过绑定的 Editor(component) 编辑

查找 2 个已知值之间的字符串

如何将字符串列表数据绑定到 WPF/WP7 中的 ListBox?

为什么 .NET 中没有可序列化 XML 的字典?

HttpClient 和使用代理 - 不断得到 407

LINQ 性能常见问题解答

运算符重载 ==, !=, Equals

如何将 NuGet 与 Visual C# Express 一起使用?

Int 到字节数组

NuGetPackageImportStamp 有什么用?

有没有办法只在 C# 中设置一次属性

在 C# 中将匿名类型转换为键/值数组?

使用 XmlDocument 读取 XML 属性

使用 C# 设置全局热键

何时何地使用 GetType() 或 typeof()?

为什么甚至可以更改私有成员,或使用反射在 C# 中运行私有方法?

WPF中的依赖属性和附加属性有什么区别?