转: http://www.cnblogs.com/FreeWick/archive/2012/11/03/2753016.html 话说某项目需要在客户端执行全文搜索,包括多条件和部分匹配。开发一个新功能首先得google,像这样的代码外国同行早就给我们准备好了,没想到竟然落空。Google不成就只能开发了,我一看有个实习的小伙,那就你了,开发这个功能,顺便练习一下Linq。他写了半天代码也没写出来,只好写了个传统的代码交差(见后面)。于是我就写了下面的代码: public static List<DataRow> FullTextSearch(this DataTable dataTable, string[] keywords) { var q = dataTable.AsEnumerable().Where<DataRow>(row => keywords.All(keyword => row.ItemArray.Select(p => p.ToString()).Any<string>(s => s.Contains(keyword)))); return q.ToList(); } 例如 下面是出生婴儿的DataTable