感受 C# 3.0 的优雅

问:真的有必要用 C# 3.0 吗?
答:可以不用,但我们不能忽视它的好处。

-------- 以下是我给的一个例子 --------------------------

只有开始编码,你才能体会 C# 3.0 的优雅。

对比下面分别用 C# 2.0 和 3.0 写的同一个类型效果,你感觉到了什么?代码变得更加简洁,没有了属性和其关联字段间的重复劳动,也可以少写几个 "无聊" 的构造方法。或许很多人对语法简化持保留意见(包括我本人),但不可否认 3.0 的语法更利于维护,当我们臃肿的的工程代码从 50000 行缩减到 20000 行时,那么它所带来的就不仅仅是少敲键盘这么点好处了。

C# 2.0
class User
{
  
private string name;
  
private int age;
  
private List<string> interest;

  
public User()
  
{
    interest 
= new List<string>();
    interest.Add(
"读书");
    interest.Add(
"上网");
  }


  
public User(string name, int age) : this()
  
{
    
this.name = name;
    
this.age = age;
  }


  
public string Name 
  
{
    
get return name; }
    
set { name = value; }
  }

  
public int Age 
  
{
    
get return age; }
    
set { age = value; }
  }


  
public List<string> Interest 
  
{
    
get return interest; }
  }

}


// Invoke
User user = new User("tom"21);

C# 3.0
class User
{
  
public User()
  
{
    Interest 
= new List<string> "读书""上网" };
  }

  
  
public string Name getset; }
  
public int Age getset; }
  
public List<string> Interest getprivate set; }
}


// Invoke
var user = new User
{
  Name 
= "tom",
  Age 
= 21,
}
;

我的工程中还出现了 CharExtension、StringExtension,甚至是 ObjectExtension 这样的 Mixin,至于 Lambda、Anonymous types、Linq 自不必多说。

posted on 2007-12-19 10:53  kyovcs  阅读(222)  评论(0编辑  收藏  举报

导航