对象的初始化
对象初始化就是简化新建对象的过程,用一些少量的代码就可以新建对象和设置一些公共的字段
例如:自动属性创建一个简单类Student
public class Student
{
public string stuNo{get;set;}
public string stuName{get;set;}
public Student(){}
public Student(string stuNo,stuName)
{
stuNo = stuNo;
stuName = stuName;
}
public void study()
{
Console.WriteLine("姓名是{0},学好是{1}的同学,正在学习!",stuNo,stuName);
}
}
而现在,下面我们一起来看看如何创建一个Student对象的方法
static void Main(string [] args)
{
//通过属性来创建一个Student
Student stu = new Student();
stu.stuNO = "123";
stu.stuName = "张三";
stu.Study();
//通过自定义构造函数来创建student
Student stu1 = new Student("123","李四");
stu1.Study();
//通过初始化对象的方法来创建一个Student
Student stu2 = new Student{stuNO = 123,stuName = "王五"};
stu2.Study();
Console.Readkey();
}
集合的初始化
集合初始化是由一系列的元素初始化器构成的,而每一个的元素初始化器是指定一个元素,而为了避免成员初始化器的混淆,元素不能初始化赋值的表达式。
例如下面的这两个例子:
List<int> ts = new List<int>{1,2,3,4,5,6};
List<string> df = new List<string>{"小二","张三","李四","王五","赵六","田七"};
要应用初始化器的对象类型必须实现System.Collections.Generic.IConllection<T>,并且确定T,必须存在每一个元素初始化的类型到T的隐式转换,如果不能满足这个条件的话,就会出现一个编译期的错误。
例如下面student类表示一个名字和一组的电话号码
public class student
{
string name;
List<string> stu = new List<string>();
public string Name
{
get { return name; }
set { name = value; }
}
public List<string> stu1
{
get { return stu; }
}
}