今天用了一下C# 自带的委托Func
发现一个可以少写代码的特性
List<string> listStr1 = new List<string>() { "Test1","Test2"};
List<string> listStr2 = new List<string>() { "Test4", "Test5" };
string str1 = "Test1";
Func<string, bool> func = v => v == str1;
var testList1 = listStr1.Where(func).ToList();
//在这里,给str1重新赋值,这样上面定义的Func委托就可以重复利用起来,在委托类型,但是某个判断参数不同的情况下可以这样使用
str1 = "Test4";
var testList2 = listStr2.Where(func).ToList();
Console.WriteLine(string.Join(",", testList1));
Console.WriteLine(string.Join(",", testList2));
打印结果是:
Test1
Test4