WEB开发网
开发学院软件开发C语言 C#3.0中自动属性和对象初始化器 阅读

C#3.0中自动属性和对象初始化器

 2009-04-24 08:25:48 来源:WEB开发网   
核心提示:1.匿名属性定义属性如下:publicclassEmployee{publicintId{get;set;}publicstringName{get;set;}publicstringSex{get;set;}publicintAge{get;set;}publicstringBirthDate{get;set;}}在

1.匿名属性

定义属性如下:

public class Employee
{
public int Id { get; set; }
public string Name { get; set; }
public string Sex { get; set; }
public int Age { get; set; }
public string BirthDate { get; set; }
}
在C#3.0 之前的写法如下:
public class Employee
{
private int _id;
private string _name;
private string _sex;
private int _age;
private string _birthDate;

        public int Id
{
get { return _id; }
set { _id = value; }
}
public string Name
{
get { return _name; }
set { _name = value; }
}
public string Sex
{
get { return _sex; }
set { _sex = value; }
}
public int Age
{
get { return _age; }
set { _age = value; }
}
public string BirthDate
{
get { return _birthDate; }
set { _birthDate = value; }
}
}

仅从代码量上就前者比后者减少了2/3的代码,这对提高效率是显而易见的,那么这些代码都到哪里去了呢?其实那些额外的代码都是由编译器为我们完成的,编译器会将那些我们“省去"的代码编译成托管IL代码的时候补进去,两者中代码在最终生成的IL代码的体积是差不多的。

C#3.0中自动属性和对象初始化器

1 2 3  下一页

Tags:自动 属性 对象

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接