链式编程学习之练习篇
2013-08-10 14:16
288 查看
C#之链式编程(函数模式编程),最近很好像很火,我也尝试练习下。
学习链式编程 需要懂两个知识点:
1.必须会扩展方法
2.lambda+(Func,Action)
好了,下面是我的学习代码:
学习链式编程 需要懂两个知识点:
1.必须会扩展方法
2.lambda+(Func,Action)
好了,下面是我的学习代码:
class Program { // study chained call 链式调用 static void Main(string[] args) { //One //Product p = new Product() { ProductName = "iphone5", Price = 300 }.First().Sencond().Third(); //Two List<Product> list = new List<Product>() { new Product{ProductName="iphone5",Price=300}, new Product{ProductName="iphone4s",Price=200}, new Product{ProductName="ipad4",Price=100} }; var s = list.GetIphone<Product, Product>(p => { if (p.ProductName.Contains("iphone")) { return p; } else return null; }).getFirst<Product>(); Console.WriteLine(s.Price); Console.ReadKey(); } } public class Product { public string ProductName { get; set; } public int Price { get; set; } public Product First() { Console.WriteLine("First"); return this; } public Product Sencond() { Console.WriteLine("Second"); return this; } public Product Third() { Console.WriteLine("Third"); return this; } } static class ProductExtension { //get iphone public static IEnumerable<TResult> GetIphone<TSource, TResult>(this IEnumerable<TSource> source, Func<TSource, TResult> selector) { foreach (var t in source) { if (selector(t) != null) { yield return selector(t); } } } //get first public static Tsource getFirst<Tsource>(this IEnumerable<Tsource> ilist) { return ilist.First(); } }
相关文章推荐
- LeetCode编程练习 - Maximum Subarray学习心得
- LeetCode编程练习 - Majority Element学习心得
- LeetCode编程练习 - Merge Two Sorted Lists学习心得
- LeetCode编程练习 - Count Primes学习心得
- Unix学习笔记-----Unix编程练习实例-----lstat()&& stat 结构体详解
- java学习练习(编程练习)
- C语言学习历程——编程练习2——09
- LeetCode编程练习 - Factorial Trailing Zeroes学习心得
- 【学习C++】C++ Primer Plus (第六版)第十一章编程练习1-7
- 编程苦手GW——OpenGL学习练习,落地变色的弹跳小球
- LeetCode编程练习 - Rotate Array学习心得
- LeetCode编程练习 - Merge Sorted Array学习心得
- Python学习练习1---直接上手编程
- LeetCode编程练习 - Power of Two学习心得
- java并发编程学习3--线程通信练习
- unix 学习笔记-----Unix编程练习实例----读目录的实例_1
- java学习日记_47:链式编程
- C 语言学习第三课习题编程练习
- LeetCode编程练习 - Remove Duplicates from Sorted List学习心得
- 吴恩达Coursera深度学习(4-4)编程练习