C# Func的介绍
来源:互联网 发布:连通区域图像分割算法 编辑:程序博客网 时间:2024/06/04 19:48
原文:http://www.cnblogs.com/pnljs/p/3792407.html
对Func<int,bool>的Func转到定义看它的解释:
// 摘要: // 封装一个具有一个参数并返回 TResult 参数指定的类型值的方法。 // // 参数: // arg: // 此委托封装的方法的参数。 // // 类型参数: // T: // 此委托封装的方法的参数类型。 // // TResult: // 此委托封装的方法的返回值类型。 // // 返回结果: // 此委托封装的方法的返回值。 [TypeForwardedFrom("System.Core, Version=3.5.0.0, Culture=Neutral, PublicKeyToken=b77a5c561934e089")] public delegate TResult Func<in T, out TResult>(T arg);
in T 代表输入参数 1
out TResult 表示输出参数 2
再看返回值是 TResult 3
构造方法需要的参数是T 4
1与4,2与3进行对比,你发现了什么?!参数类型一样对吧。 5
Func是一个委托,委托里面可以存方法,那我们就来建一个与之匹配的方法:
以Func<int,bool>为例:
private bool IsNumberLessThen5(int number)
{return number < 5;}
Func<int,bool> f1 = IsNUmberLessThen5;
调用:
bool flag= f1(4);
以下是具体代码:
using System;using System.Collections.Generic;using System.Linq;using System.Linq.Expressions;using System.Text;using System.Threading.Tasks;namespace ConsoleApplication1{ class Program { static void Main(string[] args) { Func<int, bool> f1 = IsNumberLessThen5; bool flag = f1(4); Console.WriteLine(flag); //以下是其它的用法,与IsNumberLessThen5作用相同。只是写法不同而已。 Func<int, bool> f2 = i => i < 5; Func<int, bool> f3 = (i) => { return i < 5; }; Func<int, bool> f4 = delegate(int i) { return i < 5; }; flag = f2(4); Console.WriteLine(flag); flag = f3(4); Console.WriteLine(flag); flag = f4(4); Console.WriteLine(flag); Console.ReadLine(); } private static bool IsNumberLessThen5(int number) { if (number < 5) return true; return false; } }}
0 0
- C# Func的介绍
- C#委托的介绍(delegate、Action、Func、predicate)
- C#委托的介绍(delegate、Action、Func、predicate)
- C#委托的介绍(delegate、Action、Func、predicate)
- C#委托的介绍(delegate、Action、Func、predicate)
- C#委托的介绍(delegate、Action、Func、predicate)
- C#委托的介绍(delegate、Action、Func、predicate)
- C#委托的介绍(delegate、Action、Func、predicate)
- C#委托的介绍(delegate、Action、Func、predicate)
- C#委托的介绍(delegate、Action、Func、predicate)
- C#委托的介绍(delegate、Action、Func、predicate)
- C#委托的介绍(delegate、Action、Func、predicate)
- C#委托的介绍(delegate、Action、Func、predicate)
- C#委托的介绍(delegate、Action、Func、predicate)
- C#委托的介绍(delegate、Action、Func、predicate)
- Unity学习 - C#委托的介绍(delegate、Action、Func、predicate)
- Unity学习 - C#委托的介绍(delegate、Action、Func、predicate)
- C#委托的介绍(delegate、Action、Func、predicate)
- iCheck自定义复选框 & 单选按钮插件
- 使用<![CDATA[ ]]> 标识 使内容不被XML解析
- 雄联盟工程师独家分享:如何使开发更有效率
- Maven 安装
- BZOJ 1505: [NOI2004]小H的小屋
- C# Func的介绍
- QT5串口通信
- Android WebView关于图片/文件上传
- Android四大组件Broadcast Receiver详解
- 【图论】单源点最短路模板(有向图)Dijkstra
- Find The Duplicate Number
- python 一个简单的依靠文件来判断key是否重复的方法
- 深入研究java.lang.Object类
- Linux 的启动流程