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;
}
}
//写一个我都已经有点烦了,其他我就不写了
}
{
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;
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}}//【嵌套】
}
//注意:这里的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);
Console.WriteLine(a.name);
Console.WriteLine(a.age);
                    
                
                
            
        
浙公网安备 33010602011771号