• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
皇图霸业谈笑间
更高、更快、更强
博客园    首页    新随笔    联系   管理    订阅  订阅
.NET3.0之对象和集合初始化器

1: 对象初始化器

     结合【自动属性】介绍对象初始化器给我们带来的【代码简洁】和【代码方便】;

     自动属性:

 
public Class Student
{
    
public int ID {get; set;}
    
public string Name {get; set;}
    
public string Age {get; set;}
}
//以前需要我们写一大批私有变量来赋予属性的过程,现在完全省列掉了,编译器自己会处理,我们在对比以前的代码

public Class Student
{
    
private int _id;
    
private string _name;
    
private string _age;

    
public int ID
    {
        
get
        {
            
return this._id;
        }
        
set
        {
            
this._id = value;
        }
    }
    
//写一个我都已经有点烦了,其他我就不写了
}

 

 

再见识一下,对象初始化器的妙用:

 

//针对上面自动属性定义的类【Student】,我们看下实例该类的对象,是如何实现的;
Student student = new Student{
        ID 
= 123456,
        Name 
= "布颜书",
        Age 
= 24
};
//是不是显得很美妙呢 。。。


//我们再看看以前那个臃肿的代码片段
Student student = new Student();
student.ID = 123456;
student.Name = "布颜书";
student.Age = 24;

 

 

2:集合初始化器

不多废话,直接切入代码。。。

 

List<int> num = new List<int>{0,1,2,3,4,5,6,7,8,9};
//注意:这里的T必须已确定为具体类型噢 。

//我们再定义一个类,等下演示【对象初始化器】如何实现嵌套设置
public Class Person
{
    
public int ID {get; set;}
    
public string Country {get; set;}
    
public Student StudentPerson {get; set;}
}

List
<Person> person = new List<Person>{
    
new Person{ID = 1234,Country = "China",StudentPerson = new Student{ID = 123456,Name = "布颜书",Age = 24}},//【嵌套】
    
new Person{ID = 4567,Country = "US",StudentPerson = new Student{ID = 789654,Name = "书颜",Age = 24}}//【嵌套】
}

 

 

正因为引入了【对象和集合初始化器】才使得【匿名类型】成为可能:

 

    var a = new {name="布颜书",age=24};
    Console.WriteLine(a.name);
    Console.WriteLine(a.age);

 

 

 

 

 

posted on 2009-02-07 16:50  布颜书  阅读(1049)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3