c# - C# 集合是值类型还是引用类型?

标签 c# collections

我正在忙着学习 C#,C# Collections 是值类型还是引用类型?,因为数组是引用类型,而且我知道字符串也是引用类型。

谢谢。

最佳答案

你可以创建一个值类型集合(所以是一个 struct MyCollection<T> : IEnumerable<T> ),但它几乎没有用(因为你可以将它设为只读,这很简单,或者你可以尝试让它可变,但是使它成为“值类型”可复制是非常困难的,因此集合的副本是与原始集合不同的实体)(请注意,它仍然几乎没有用,因为如果您通过一个使用值类型如果它的接口(interface),你通常把它装箱)。所以最后,不要 :-)

我记得的所有 .NET“库存”集合都是引用类型。所以数组,List<> , ArrayList , Dictionary<,> , ...

关于c# - C# 集合是值类型还是引用类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30643134/

相关文章:

c# - 无法使用 Amazon SES .NET SDK 发送电子邮件

c# - 图像扭曲和收缩效果,图像失真算法

c# - 更改其他 Win32-dl​​l/exe 中的资源

c# - 使用 XmlSerialize 反序列化集合会导致空集合

java - 约束特定键 - HashMap 的约定 - Java

c# - 使用不同的模型呈现强类型的部分 View

c# - Random.Next() 有多随机?

java - 如何使用 "Person"列表创建整数集合?

java - groupingBy 到集合 Java8

java - 使属于 ArrayList java 一部分的对象无效