博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
链式编程学习之练习篇
阅读量:6432 次
发布时间:2019-06-23

本文共 1826 字,大约阅读时间需要 6 分钟。

C#之链式编程(函数模式编程),最近很好像很火,我也尝试练习下。

学习链式编程 需要懂两个知识点:

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
list = new List
() { new Product{ProductName="iphone5",Price=300}, new Product{ProductName="iphone4s",Price=200}, new Product{ProductName="ipad4",Price=100} }; var s = list.GetIphone
(p => { if (p.ProductName.Contains("iphone")) { return p; } else return null; }).getFirst
(); 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
GetIphone
(this IEnumerable
source, Func
selector) { foreach (var t in source) { if (selector(t) != null) { yield return selector(t); } } } //get first public static Tsource getFirst
(this IEnumerable
ilist) { return ilist.First(); } }

 

转载地址:http://rltga.baihongyu.com/

你可能感兴趣的文章
Microsoft AJAX Library Cheat Sheet(5): Number和Error类型的扩展
查看>>
AfxGetMainWnd函数
查看>>
WebView增加一个水平Progress,位置、长相随意
查看>>
easyui messager alert 三秒后自动关闭提示
查看>>
core data 基础操作
查看>>
ORM框架Hibernate (四) 一对一单向、双向关联映射
查看>>
20140616 科技脉搏 -最大颠覆来自创业公司与边缘产业
查看>>
offsetLeft, offsetTop以及postion().left , postion().top有神马区别
查看>>
数据库中触发器before与after认识
查看>>
手动露天广场和立方体
查看>>
随机选择
查看>>
【Java并发编程三】闭锁
查看>>
分布式事务中遇到的 “与基础事务管理器的通信失败”的解决方法
查看>>
让你的Git水平更上一层楼的10个小贴士
查看>>
c++ string 之 find_first_not_of 源码
查看>>
mybatis中的#和$的区别
查看>>
ubuntu下搭建NDK环境
查看>>
MessageDigest简单介绍
查看>>
webpack window 使用sass来编译css样式
查看>>
D3 & Data Visualization in Ext JS
查看>>