初始化器

本文介绍了C#中的对象初始化器和集合初始化器的使用方法。通过实例展示了如何使用对象初始化器来简化对象创建过程,并演示了如何结合使用对象初始化器和集合初始化器来初始化包含多个对象的集合。

1.对象初始化器

为了简化新建对象的过程,C#提供了对象初始化语法,语法是使用一个大括号,大括号内是使用逗号分隔的一个列表,列表中的每个成员映射到正在被初始化的对象的公共字段或属性。

面的代码在Main方法中使用对象初始化语法声明了一个Student对象。

 1 class Student
 2 {
 3   public string FirstName{ get;set; }
 4   public string LastName{ get;set; }
5   public Student(){}
6   public Student(string firstName, string lastName) 7   { 8     this.FirstName = firstName; 9     this.LastName = lastName; 10   } 11 } 12 13 static void Main(string[] args) 14 { 15   var student1 = new Student{FirstName = "Wang", LastName = "MeiMei"}; 16 }

上面的代码在后台隐式调用了Student类的默认构造函数,然后再给指定的属性赋值。

我们也可以在构建类型时,显式调用它的默认构造函数:

var student2 = new Student(){FirstName = "Li", LastName = "Lei"};

也可以调用类的任意的构造函数,假如在Student类中有一个用于设置Student的ID的构造函数:

1 class Student
2 {
3   public int ID{ get;set; }
4 
5   public Student(int id)
6   {
7     this.ID = id;
8   }    
9 }

我们可以这样使用对象初始化语法:

var student3 = new Student(10001){FirstName = "Mr", LastName = "X"};

 

2.集合初始化器

只能对支持Add()方法的类使用集合初始化语法。

1 //初始化整数的泛型list<>
2 List<int> myGenericList = new List<int>{ 0, 1, 2, 3, 4, 5 };

如果容器操作的是类或结构的集合,我们可以将对象初始化语法与集合初始化语法结合使用:

var students = new List<Student>{ new Student{FirstName = "Li", LastName = "Lei"}, new Student{FirstName = "Wang", LastName = “Meimei"} };
var studentDic = new Dictionary<int, Student> 
            {
                {100, new Student("Wang", "Meimei"){ID = 100}}, 
                {101, new Student("Li", "Lei") {ID = 101}}
            };

 

转载于:https://www.cnblogs.com/MrX1892/p/4620945.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值