您现在的位置是:首页 > C# > Linq笔记

Linq笔记

王递杰 2025年1月18日 C#

Func : 有返回值

Action: 无返回值

Func<int, int, string> f1 = delegate (int i1, int i2) {
    return $"{i1}+{i2}={i1 + i2}";
};


string s = f1(1, 2);

匿名方法可以写成lambda表达式

Func<int, int, string> f1 = (i1,i2) =>{
    return $"{i1}+{i2}={i1 + i2}";
};

如果委托没有返回值,且方法体只有一行代码,可省略 {}

Action<int, string> a1 = (age, name) => Console.WriteLine($"年龄{age},姓名{name}");
a1(18, "yzk");

如果=>之后的方法体中只有一行代码,且方法有返回值,那么可以省略方法体的{}以及return。

Func<int, int, string> f1 = (i1, i2) => $"{i1}+{i2}={i1 + i2}";


Action<string> f1 = s => Console.WriteLine(s);
Func<int, bool> f2 = i => i > 5;


.NET中定义了泛型委托Action(无返回值)和Func(有返回值),所以一般不用自定义委托类型


LINQ常用的扩展方法:

大部分都在System.Linq命名空间中。


IEnumerable<T>扩展方法


评论

暂无评论