C#3.0新特征之创建和初始化集合对象

C#3.0新特征之创建和初始化集合对象,第1张

C#3.0新特征之创建和初始化集合对象,第2张

一.导言

C# 3.0中新的对象初始化器是一个简单的语法特性——在这个特性的帮助下,对象的构造和初始化变得非常简单。假设你有一个班级学生,看起来像这样:

public class Student {
public string first name;
公共字符串lastName
}

然后,您可以使用对象初始化器来创建该类的对象,如下所示:

var student1 =新生{firstName = "Bruce ",last name = " Willis " };

C# 3.0中新的集合初始化器语法有类似的操作特征。例如,任何实现system . collections . generic . I collection < t >的对象都可以使用集合初始值设定项来初始化其值。

集合初始化器由以下部分组成:

一个对象初始化序列,包含在“{”和“}”符号中,用逗号分隔。

元素初始值设定项,每个元素初始值设定项指定一个要添加到指定集合对象中的元素(元素初始值设定项不能是集合初始值设定项中的赋值表达式)。

那么,它到底是如何工作的呢?集合初始值设定项必须遵循以下规则:

应用集合初始值设定项的每个集合对象必须是实现system。collections . generic . I collection < t >(只是针对一个t)。

必须有一个从每个元素初始化器到T类型的隐式转换。集合初始值设定项将调用ICollection。添加(T >)。按顺序为每个指定的元素添加(t)方法。

作为一个例子,下面的集合初始化器创建并初始化一个新的字符串集合,该集合有3个成员:“Alice”、“Bob”和“Chris”,如下所示:

List < string > names = new List < string > { " Alice "," Bob "," Chris " };

注意:所有初始值都是字符串类型。否则,您将得到一个编译器错误。

第二,实现集合的初始化

假设您想要描述一个班级及其注册的学生。为此,您可以使用C# 3.0中的set初始值设定项对其进行编程,如下所示:

使用系统;
使用系统。集合。泛型;
使用系统。文本;
使用系统。查询;
使用系统。XML . XLinq
使用系统。Data . DLinq
命名空间集合初始化器
{
类程序
{
公共类MyClass
{
公共字符串nameofClass
public List < string > student names = new List < string >();
}
static void Main(string[]args)
{
var classes = new List < my class >
{
new my class
{
name of class = " Science ",
studentNames = {"Laura "," George"}
},
new my class
{
name of class = " Commerce ",[/br
}
}
}

如果你有Visual Studio 2005并且安装了LINQ预览版,你可以在IDE中编译上面的代码。

如果您没有安装VS 2005,但安装了LINQ预览版,那么您可以使用以下命令从命令行编译代码:

C:\Program Files\LINQ预览\ Bin \ CSC . exe
/reference:" C:\ Program Files \ LINQ预览\Bin\System。data . dlinq . dll "
/reference:C:\ Windows \ Microsoft . net \ Framework \ v 2 . 0 . 50727 \ System。data . dll
/reference:C:\ WINDOWS \ Microsoft。NET \ Framework \ v 2 . 0 . 50727 \ System . dll
/reference:" C:\ Program Files \ LINQ预览\Bin\System。query . dll " "/br/]/reference:C:\ WINDOWS \ Microsoft。NET \ Framework \ v 2 . 0 . 50727 \ System。XML . dll
/reference:" C:\ Program Files \ LINQ预览\Bin\System。Xml.XLinq.dll" Program.cs

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » C#3.0新特征之创建和初始化集合对象

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情