[译]C# 7系列,Part 6: Read-only structs 只读结构
原文: https://blogs.msdn.microsoft.com/mazhou/2017/11/21/c-7-series-part-6-read-only-structs/ 背景 在.NET世界中,有两种基本类型:引用类型和值类型。简单地说 ,引用类型是可以继承/扩展的类,当传递引用类型对象时,传递的是一个“指针”; 值类型是不能继承/扩展的结构,当传递值类型对象时,传递的是一个“副本”。 C#中的struct是一个值类型,它“内部继承”自System.ValueType。 (我说的是结构之间没有继承。) 当在参数中使用struct时,会生成struct的副本,使用struct可能是高效的,因为它减少了堆对象分配的时间。 在许多场景中,开发人员使用结构作为传递值的有效方法,例如方法的返回对象,或者跨应用程序使用的基本数据结构。 只读结构 只读结构是其公共成员为只读的结构,就好像“this”变量一样。 看一下下面的声明: public struct S { public int Age { get ; set ; } public string Name { get ; set ; } public S( int age, string name) { this .Age = age; this .Name = name; } public S(S other) {