摘要: 类索引器,可以使得你使用数组一样的方式来访问类的数据。这种访问多见于数组,列表,词典,哈希表的快捷访问。实际上写法很简单,写成:public T1 this[T2 i]代码如下:[代码]很简单吧,第一个,我定义了一个可读可写的以int为参数的索引器。第二个,我定义了一个可读的以string为参数的索引器。第三个,比较搞怪了,我定义了一个color参数的索引器。呵呵,是很简单吧!!SkyDriver... 阅读全文
posted @ 2010-08-19 17:06 香山飘雪 阅读(972) 评论(1) 推荐(0)
摘要: C# 3.0就引入的新特性,扩展方法可以很大的增加你代码的优美度,扩展方法提供你扩展.NET Framewoke类的扩展途径,书写和规则也简单的要命。编写扩展方法有下面几个要求:第一:扩展方法所在的类必须是全局的,不能是内部嵌套类。第二:扩展方法的类是静态类。第三:扩展方法是静态方法。第四:扩展方法的第一个参数的数据类型必须是要扩展类型。第五:扩展方法的第一个参数使用this关键字。下面是一段很简... 阅读全文
posted @ 2010-08-17 10:29 香山飘雪 阅读(2308) 评论(2) 推荐(3)
摘要: 组元是C# 4.0引入的一个新特性,编写的时候需要基于.NET Framework 4.0或者更高版本。组元使用泛型来简化一个类的定义。先以下面的一段代码为例子:[代码]一个简单的包含两个Int类型成员的类,传统的方法定义point需要写很多代码,但是使用tuple却只有一句,组元多用于方法的返回值。如果一个函数返回多个类型,这样就不在用out , ref等输出参数了,可以直接定义一个tuple类... 阅读全文
posted @ 2010-08-16 06:57 香山飘雪 阅读(28580) 评论(13) 推荐(9)
摘要: 泛型委托实际上就是一个.NET Framework预定义的委托,基本涵盖了所有常用的委托,所以一般不用用户重新声明啦。很简单,看下面简单的小例子:[代码]Action系列泛型委托,是没有返回参数的委托,我简单的举了一个无参数的委托,带一个参数的委托,还有带两个参数的委托。调用的时候和普通的委托没有声明两样。具体的方法我使用的是lambda写的,我前面文章有介绍。是不是很简单,不用自己在写publi... 阅读全文
posted @ 2010-08-15 09:14 香山飘雪 阅读(1874) 评论(5) 推荐(1)
摘要: C# 3.0 带来了强大的基于方法的查询LINQ。为了开发者更好更方便的使用LINQ,微软有随即引入两个新特性:Lambda和Expression。Lambda简单来说就是一个匿名方法的简略写法,Expression和Lambda的关系可以从下面的一小段代码看下:(.NET Framework 3.5, 记住引用命名空间System.Linq.Expressions;)[代码]输出结果为下:[代码... 阅读全文
posted @ 2010-08-14 08:50 香山飘雪 阅读(4516) 评论(0) 推荐(0)
摘要: “Lambda 表达式”是一个匿名函数,是C# 3.0引入的新特性。Lambda 运算符 =>,该运算符读为“goes to”。下面的代码简单的演示了Lambda表达式的出现:[代码]同样一个lambda表达式,也有简略的写法和完全的写法,下面的4个lambda表达式,实际上是同样的功能:[代码]第一种写法是最简单的方式。第二种写法是有一个输入... 阅读全文
posted @ 2010-08-13 06:47 香山飘雪 阅读(1538) 评论(1) 推荐(2)
摘要: 今天在这里定居啦,希望和大家好好的做朋友,交流心得!! 阅读全文
posted @ 2010-08-12 23:16 香山飘雪 阅读(166) 评论(0) 推荐(0)