我在 C# 中偶然发现了这种奇怪的语法形式,并试图弄清楚它的含义以及如何使用它。网上似乎没有任何关于此的文档。
object data = new { var1 = someValue, var2 = anotherValue }
这种语法没有错误,所以我认为这是 C# 允许的。这是什么意思?
我在 C# 中偶然发现了这种奇怪的语法形式,并试图弄清楚它的含义以及如何使用它。网上似乎没有任何关于此的文档。
object data = new { var1 = someValue, var2 = anotherValue }
这种语法没有错误,所以我认为这是 C# 允许的。这是什么意思?
这是一个匿名类型。它基本上会像一个类一样工作:
class anonymous
{
public readonly type var1; // "type" is the type of somevalue
public readonly type var2; // "type" is the type of anothervalue
}
这是用实例化的
var data = new anonymous { var1 = somevalue, var2 = anothervalue };
该语法创建了一个“匿名类型”的实例。它仍然是一个完全类型安全的静态类型对象,但您可以在创建它时添加您想要的任何属性。
这里有更多文档。
您不能使用匿名类型作为返回类型或使用匿名类型声明成员字段。您不能在必须提供类型名称的任何地方使用一个,因为它没有一个。