📅  最后修改于: 2023-12-03 15:22:48.127000             🧑  作者: Mango
在 C# 中,我们可以使用一个“匿名类”来动态地创建一个新的类型。这个“匿名类”通常用于临时存储数据对象。与普通的类不同,匿名类没有类型名称。这使得它们在编写查询语句等需要动态创建对象的场景中非常有用。
匿名类的语法格式如下:
var obj = new { Property1 = value1, Property2 = value2, ... };
其中,obj
是一个变量,用于存储创建的匿名类对象。Property1
、Property2
等是匿名类对象的属性名,value1
、value2
等是属性对应的值。
以下是一个简单的示例,展示了如何使用匿名类来创建一个对象:
var person = new { Name = "John Smith", Age = 30, Occupation = "Programmer" };
在上面的代码中,我们创建了一个匿名类对象 person
,它有三个属性:Name
、Age
、Occupation
,分别对应着字符串类型的姓名、整数类型的年龄和字符串类型的职业。
可以像普通的类一样访问匿名类对象的属性:
Console.WriteLine(person.Name); // Output: John Smith
Console.WriteLine(person.Age); // Output: 30
Console.WriteLine(person.Occupation); // Output: Programmer
匿名类支持以下操作:
但是,由于匿名类没有类型名称,所以无法向其添加扩展方法。
匿名类有以下局限性:
匿名类是一个强大的工具,可以用于创建临时的数据结构。通过它们,我们可以轻松地快速地创建具有一些属性的对象,而不必定义一个单独的类。但是,请记住匿名类有一些局限性,特别是它们不能用作返回类型或参数类型,因此使用时需要注意它们的适用场景。