首页 > 编程笔记 > C#笔记 阅读:19

C#匿名类的用法(附带实例)

匿名类(anonymous class)是 C# 提供一个便利的方法,将一组只读属性的数据封装成一个对象,不需要事先明确地定义数据类型,类名会由编译程序产生,同时属性也会由编译程序依据数据类型做推断。

【实例 1】创建匿名类并输出。
var Student = new { Id = 101, FirstName = "Jiin-Kwei", LastName = "Hung" };
Console.WriteLine(Student.Id);
Console.WriteLine(Student.FirstName);
Console.WriteLine(Student.LastName);
执行结果为:

101
Jiin-Kwei
Hung


匿名类也可以是嵌套的,可以参考下列实例:
var Student = new
{
    Id = 101,
    FirstName = "Jiin-Kwei",
    LastName = "Hung",
    Address = new { City = "Chicago", Country = "USA" }
};
Console.Write(Student.Address.City + " ");
Console.WriteLine(Student.Address.Country);
执行结果为:

Chicago USA


匿名类也可以创建数组并输出,例如:
var Students = new[] {
    new { Id = 101, FirstName = "Kevin", LastName = "Hung" },
    new { Id = 102, FirstName = "John", LastName = "Hung" },
    new { Id = 103, FirstName = "Ivan", LastName = "Hung" }
};

foreach (var s in Students)
{
    Console.WriteLine($"{s.Id} : {s.FirstName} {s.LastName}");
}
执行结果为:

101 : Kevin Hung
102 : John Hung
103 : Ivan Hung


匿名类常用在 C# 的 LINQ 查询表达式中,使用 select 关键字,然后可以回传对象的子集合。

相关文章