转载地址:http://www.cnblogs.com/ldp615/archive/2011/08/01/distinct-entension.html 刚看了篇文章 <Linq的Distinct太不给力了>,文中给出了一个解决办法,略显复杂. 试想如果能写成下面的样子,是不是更简单优雅: 1 2 var p1 = products.Distinct(p => p.ID); var p2 = products.Distinct(p => p.Name); 使用一个简单的 lamb…
刚看了篇文章 <Linq的Distinct太不给力了>,文中给出了一个解决办法,略显复杂. 试想如果能写成下面的样子,是不是更简单优雅 var p1 = products.Distinct(p => p.ID); var p2 = products.Distinct(p => p.Name); 使用一个简单的 lambda 作为参数,也符合 Linq 一贯的风格. 可通过扩展方法实现: Distinct 扩展方法 首先,创建一个通用比较的类,实现 IEqualityComparer…
Dictionary<TKey, TValue>类是常用的一个基础类,但用起来有时确不是很方便.本文逐一讨论,并使用扩展方法解决. 向字典中添加键和值 添加键和值使用 Add 方法,但很多时候,我们是不敢轻易添加的,因为 Dictionary<TKey, TValue>不允许重复,尝试添加重复的键时 Add 方法引发 ArgumentException. 大多时候,我们都会写成以下的样子: var dict = new Dictionary<int, string>()…
http://www.cnblogs.com/ldp615/archive/2011/09/15/expression-extension-methods.html .net 中创建 Expression Trees 最简单的方式是使用 lambda 表达式: 1 2 Expression<Func<Person, bool>> exp = p => p.Name.Contains("ldp") && p.Birthday.Value.Ye…
在Web开发中,jQuery提供了功能异常强大的$选择器来帮助我们获取页面上的对象.但在WinForm中,.Net似乎没有这样一个使用起来比较方便的选择器.好在我们有扩展方法,可以很方便的打造一个. 我们先看几个类图,深入认识一下我们常用的WinForm控件: 图1  ScrollableControl类图 图2  ButtonBase类图 图3  TextBoxBase类图 图4  ListControl类图 图5  Label类图 图6  其它常用 从图1中可以看出,Form与Button.…
下面是 Queryable 类 中最常用的两个排序的扩展方法: 1 2 public static IOrderedQueryable<TSource> OrderBy<TSource, TKey>(this IQueryable<TSource> source, Expression<Func<TSource, TKey>> keySelector); public static IOrderedQueryable<TSource>…
# 扩展方法出来已久,介绍扩展方法的文章也很多,但都是笼统的.本人最近一直在思考扩展方法的应用,也悟出了一些,准备将这最近一段时间对扩展方法的思考,写成一个系列文章.每个文章只介绍一个应用方面,篇幅不会太长. 先声明一下,本系列文章主要为提供一个新的编程的思路(所提供的代码仅供参考,不足处请包涵),希望大家把讨论的重点放在编程思想上. 打算将文章写成三个部分:基础篇.高级篇.变态篇. 1.基础篇简单易懂,主要是一些常用操作. 2.高级篇会将扩展方法与泛型.委托.lambda表达式.反射.异步调用…
本文转载:http://www.cnblogs.com/ldp615/archive/2009/08/07/1541404.html 其中本人觉得很经典的:c# 扩展方法奇思妙用基础篇五:Dictionary<TKey, TValue> 扩展 地址:http://www.cnblogs.com/ldp615/archive/2011/01/28/1947205.html…
安装PHP-mongo扩展 安装php-mongo扩展和安装其他php扩展的步骤一样: #1.首先上http://pecl.php.net上面搜索mongo,得到下载地址 wget http://pecl.php.net/get/mongo-1.6.11.tgz tar zxvf ./mongo-1.6.11.tgz #2.解压进入,phpize后进行编译 cd ./mongo-1.6.11 phpize #有可能要写全phpize的地址 ./configure --with-php-confi…
key words:私有变量,类静态变量,生成器,导入Python模块,r查看模块可以使用的函数,查看帮助信息,启动外部程序,集合,堆,时间模块,random模块,shelve模块,文件读取等 >>> class Rectangle: ...     def __init__(self): ...         self.__width = 0 ...         self.__height = 0 ...     def setSize(self,width,height): .…