星空网 > 软件开发 > ASP.net

参考例子,学习FuncT, TResult委托

这些天,开发ASP.NET MVC,其间有查找资料,发现一个全新的Func<T, TResult> 委托。让我们在开发时,节省与简化很多。

在开发过程中,我们需要把一个泛型List<int>,把所有整型int串连起来转换为一串字符串。

这时,我们会写一个方法:
参考例子,学习FuncT, TResult委托

 

source code:

参考例子,学习FuncT, TResult委托参考例子,学习FuncT, TResult委托
 public string ConnectToString(List<int> listInt)    {      StringBuilder _sb = new StringBuilder();      listInt.ForEach(delegate (int i)      {        _sb.Append(i.ToString());      });      return _sb.ToString();    }

View Code


在视图中,我们就可以应用这个方法:
参考例子,学习FuncT, TResult委托

 

呵呵,这是最普通的方法。

如果改用委托呢?怎样写? 那我们可以使用委托的关键词delegate来宣告一个方法,方法的参数就是List<int> :

public delegate string DelegateConnectToString(List<int> listInt);


参考例子,学习FuncT, TResult委托

 


在视图中,我们使用这个委托:

 参考例子,学习FuncT, TResult委托


上面的方法,我们是按常规的写法,去new一个委托,下面我们大不必去new一个委托,直接使用一个匿名方法来替代:
参考例子,学习FuncT, TResult委托

 

source code:

参考例子,学习FuncT, TResult委托参考例子,学习FuncT, TResult委托
public DelegateConnectToString ConnectToString1 = delegate (List<int> listInt)      {        StringBuilder _sb = new StringBuilder();        listInt.ForEach(delegate (int i)        {          _sb.Append(i.ToString());        });        return _sb.ToString();      };

View Code


在视图中,我们可以这样使用方法:
参考例子,学习FuncT, TResult委托

在较高版本的.NET Framework的,已经有一个Func<T, TResult>委托了,使用它不必你去宣告一个自定义的委托,如上的DelegateConnectToString(List<int> listInt)。
因此在写代码时,可以这样写法:
参考例子,学习FuncT, TResult委托


source code:

参考例子,学习FuncT, TResult委托参考例子,学习FuncT, TResult委托
 public Func<List<int>, string> ConnectToString2 = delegate (List<int> listInt)    {      StringBuilder _sb = new StringBuilder();      listInt.ForEach(delegate (int i)      {        _sb.Append(i.ToString());      });      return _sb.ToString();    };

View Code


在视图中应用此方法:
参考例子,学习FuncT, TResult委托

 




原标题:参考例子,学习FuncT, TResult委托

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

易速评:https://www.goluckyvip.com/tag/47693.html
易速信达供应链:https://www.goluckyvip.com/tag/47694.html
易通达海外仓:https://www.goluckyvip.com/tag/47695.html
易通达海外仓怎么样:https://www.goluckyvip.com/tag/47696.html
易通关:https://www.goluckyvip.com/tag/47697.html
易通关物流:https://www.goluckyvip.com/tag/47698.html
松花蛋是哪里的特产松花蛋的产地:https://www.vstour.cn/a/411229.html
怪物在游轮上复活的电影 怪物在游轮上复活的电影叫什么:https://www.vstour.cn/a/411230.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流