codecamp

C# 匿名类型

C# 匿名类型

匿名类型是由编译器在运行时创建的一个类,用于存储一组值。

要创建匿名类型,请使用 new 关键字,后跟对象初始值设定器,指定类型将包含的属性和值。

例子

例如:


var person = new { Name = "Jack", Age = 23 };

您必须使用 var 关键字来引用匿名类型,因为它没有名称。

可以从表达式推断匿名类型的属性名称。例如:


int Age = 3;
var person = new { Name = "Jack", Age, Age.ToString().Length };

等效于:


var person = new { Name = "Jack", Age = Age, Length = Age.ToString().Length };

在同一个程序集中声明的两个匿名类型实例将具有相同的底层类型,如果它们的元素命名和类​​型相同:


var a1 = new { X = 2, Y = 4 };
var a2 = new { X = 2, Y = 4 };
Console.WriteLine (a1.GetType() == a2.GetType()); // True

Equals方法被覆盖以执行等式比较:


Console.WriteLine (a1 == a2); // False
Console.WriteLine (a1.Equals (a2)); // True

您可以按如下方式创建匿名类型的数组:


var persons = new[]{
    new { Name = "A", Age = 3 },
    new { Name = "B", Age = 4 }
};


C# 扩展方法
C# 动态绑定
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }