zoukankan      html  css  js  c++  java
  • 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 v = new { Amount = 108, Message = "Hello" };
                Console.WriteLine(v.Amount + v.Message);
  • 相关阅读:
    Nucleus 的网络部分
    VS2005中TextBox的ReadOnly属性(转贴)
    VS2005中TextBox的ReadOnly属性导致的问题
    外部中断
    Linux操作系统文件链接问题
    IIS 服务不能自动启动
    转贴:[C++]static用法
    串口测试的一些体会
    字符串的两种声明方式
    Tornado 2.2 中vxsim出问题的解决方法
  • 原文地址:https://www.cnblogs.com/alsf/p/5993747.html
Copyright © 2011-2022 走看看