假如我們想要從一個整型數組中取出其中是奇數的選項,其實現方式有很多,我們通過下面三種實現方式來對對比理解Lambda運算式的用途
方法一:命名方法
複製代碼 代碼如下:
public class Common
{
public delegate bool IntFilter(int i);
public static List<int> FilterArrayOfInt(int[] ints, IntFilter filter)
{
var lstOddInt = new List<int>();
foreach (var i in ints)
{
if (filter(i))
{
lstOddInt.Add(i);
}
}
return lstOddInt;
}
}
複製代碼 代碼如下:
public class Application
{
public static bool IsOdd(int i)
{
return i % 2 != 0;
}
}
調用:
複製代碼 代碼如下:
var nums = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
var oddNums = Common.FilterArrayOfInt(nums, Application.IsOdd);
foreach (var item in oddNums)
{
Console.WriteLine(item); // 1,3,5,7,9
}
方法二:匿名方法
複製代碼 代碼如下:
var oddNums = Common.FilterArrayOfInt(nums, delegate(int i) { return i % 2 != 0; });
方法三:Lambda運算式
複製代碼 代碼如下:
var oddNums = Common.FilterArrayOfInt(nums, i => i % 2 != 0);
很顯然,使用Lambda運算式使代碼更為簡潔。