我正在忙着学习 C#,C# Collections 是值类型还是引用类型?,因为数组是引用类型,而且我知道字符串也是引用类型。
谢谢。
最佳答案
你可以创建一个值类型集合(所以是一个 struct MyCollection<T> : IEnumerable<T>
),但它几乎没有用(因为你可以将它设为只读,这很简单,或者你可以尝试让它可变,但是使它成为“值类型”可复制是非常困难的,因此集合的副本是与原始集合不同的实体)(请注意,它仍然几乎没有用,因为如果您通过一个使用值类型如果它的接口(interface),你通常把它装箱)。所以最后,不要 :-)
我记得的所有 .NET“库存”集合都是引用类型。所以数组,List<>
, ArrayList
, Dictionary<,>
, ...
关于c# - C# 集合是值类型还是引用类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30643134/