文章发布后大家有些人叫做,心里窃喜,不过压力也大增,我很想按照简洁 明快的文风写下去,不过讲技术的文章很难不落于沉闷,所以我努力了。(题外 话:这几天猛看幽默小说,想把文字写的幽默一点,开个玩笑,呵呵)
经 过几天的闭关编程大师又有了一些新的觉悟了,不管对DSL还是命令式编程和函 数式编程都有了新的理解。如是他又接着了漫长的云游。第一站当然就是那个曾 经让他结下心结的那个刚毕业的coder。
大师:“嘿,这几日可好 ,还在发牢骚么?”
Coder:“不了,正好你来了,让你看看 我的程序”,Coder将他的电脑屏幕转向大师,期盼的眼神表明他急切的期 望得到大师的夸奖。
如是大师看到了如下一些代码:
/// /// 一个通用的泛型委托,代表接受一个参数并有一个返回值的方法 /// /// 输入参数类型 /// 返回值类型 /// 输入参数 /// 返回值 public delegate TOutput MyDelegate<TInput,TOutput>(TInput input); /// /// 这个类是包含有对IEnumerable接口的一系列扩展方法 /// 因为在.net里所有的集合类都实现了IEnumerable接口 /// 所以对该接口的扩展将扩散到所有集合 /// public static class Extension { public static IEnumerable<TInput> Where<TInput>(this IEnumerable<TInput> self, MyDelegate<TInput, bool> filter) { foreach (TInput item in self) if (filter(item)) yield return item; } public static IEnumerable<TOutput> Select<TInput, TOutput>(this IEnumerable<TInput> self, MyDelegate<TInput, TOutput> selector) { foreach(TInput item in self) yield return selector(item); } //下面有更多的SQL风格的移植}
下面是我做的个小测试 代码:
public class Program{ public static void Main() { IList books = new List { new Book { Title = "Inside COM", ISBN = "123-456-789",Price=20 }, new Book { Title = "Inside C#", ISBN = "123-356-d89",Price=100 }, new Book { Title = "Linq", ISBN = "123-d56-d89", Price = 120 } }; var result = books.Where(book => book.Title == "Linq").Select(book => new { Key = book.Title,Value=book.Price }); }}
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索接口
, static
, item
, ienumerable
, title
public
大观园、南昆山温泉大观园、文化大观园、44555大观园心水论坛、刘姥姥进大观园,以便于您获取更多的相关知识。
时间: 2024-08-05 11:31:16