c#匿名类

何谓匿名类,其实本质和普通定义的类一样,只不过是由系统的编译器来完成的,首先举个例子。

一般情况

//声明一个类,包含贴别多的字段
public class Person()
{
    public string  Name{set;ge;}
    public int   Age{set;get;}
                .
                .                      
                .
                .
                .
}

//实例化和初始化
Person person=new Person();
person.Name="喜羊羊";
person.Age="懒洋洋";
           。
        。
        。    
        。

可以看出,当字段特别多的时候,太麻烦了,所以c#3.0提供了匿名类。语法是 var   名字=new {字段赋值};
其中var在c#中和在javascript中是不同的,c#中只是作为推断,根据赋值推断出类型,隐式类型 var。 隐式类型的本地变量是强类型变量(就好像您已经声明该类型一样),但由编译器确定类型。

1)var类型的值必须是局部变量或静态变量

  2)var变量在声明之前必须被初始化

  3)变量的值不能为null(这样编译器就不能判断类型了)

  4)var变量不能为一个方法或方法组

  5)不能用来声明参数类型

javascript中var类型不做判断,什么类型都可以,这个变量是什么类型的(比如String,int,double等)不做严格的限定。

 //匿名类;声明一个类#3.0,相当于把类初始化和对象声明放在一起
            var news = new { title="特大喜讯",author="夕阳眼",postdate="3013-10-9",msg="今晚公布"};
原文地址:https://www.cnblogs.com/dandandeyoushangnan/p/4523710.html