随笔分类 -  c#3.x学习

c#3.0系列:Object Initializer 和 Collection Initializer
摘要:对象初始化器(Object Initializers) 和 集合初始化器(Collection Initializers),就是简化我们的代码,让本来几行才能写完的代码一行写完。这样在LINQ的使用中,我们才不会把一个LINQ表达式写的复杂。 Object InitializersObject Initializer的使用很简单:在通过new 关键字创建对象的时候,将所需的Proeprty置于Ty... 阅读全文

posted @ 2008-04-15 11:21 gjcn 阅读(2653) 评论(8) 推荐(0) 编辑

c#3.0系列:Extension Method
摘要:我们说在C#3.0中,引入了一些列新的特性,但是个人认为Extension Method这个特性是最爽的,最有创新的。它真正的解决了:在保持现有Type原封不动的情况下对其进行扩展,你可以在对Type的定义不做任何变动的情况下,为之添加所需的方法成员。下面我就来讲讲。C#3.X出来之前大家都知道javascript有个特新Prototype,它就如同C#3.X中的Extension Method。... 阅读全文

posted @ 2008-04-11 13:16 gjcn 阅读(3442) 评论(15) 推荐(0) 编辑

c#3.0系列:Automatic Property
摘要:之前的做法:在c#3.x出来之前,相信大家已经习惯通过一个private field + public property的发式来定义和实现一个public Property。就如下面方式实现。1classperson2{3privateintage;4privatestring_name;5publicintAge6{7get{returnage;}8set{age=value;}9}10publ... 阅读全文

posted @ 2008-04-10 11:06 gjcn 阅读(2653) 评论(14) 推荐(0) 编辑

c#3.0系列:Anonymous Type In CLR(3.5)
摘要:我们说Anonymous Type是C# 3.0的新的特性,而没有说Anonymous Type是.NET Framework 3.5的新特性。这是因为Anonymous Type仅仅是.NET Programming Language和相应的Compiler的新引入的特征。而对于.NET Framework 3.5来说,它看不到这和原来有什么不同,对于Anonymous Type和一般的Named Type,对于CLR来说他们之间没有什么本质的区别。通过下面这样的一段简单的代码:1varp1=new{Name="IORI",Age=27};然后我们再看看IL:CodeCode highlig 阅读全文

posted @ 2008-04-09 14:19 gjcn 阅读(2428) 评论(9) 推荐(0) 编辑

导航