我是C#的新手,並且正在使用這些lambda值。爲什麼我的lambda表達式不能使用相同的內部變量?
我的問題是爲什麼參數列表中的每一個都不是相同的變量?如果你注意到print(q是變量)和square(c是變量),add(x,y)是變量,而在IsLessThanTen中(f是變量),如果我想使它們全都相同參數名稱,就像比薩可以做到這一點。這是我正在觀看的教程。我的第二個小問題是,如果您不是隻使用常規函數,這會如何使代碼更好?
我認爲這些被稱爲Lambda表達式。我在教程視頻中聽到了幾個不同的名字。
問題:可以在不同的lambda表達式中使用相同的變量嗎?
我想知道,如果我可以說用我的所有拉姆達的變量索引表達式
Action<int> print = index => Console.Writeline(index);
代碼:
Action<bool> print = q => Console.WriteLine(q);
Func<double, double> square = c => c * c;
Func<double, double, double> add = (x, y) => x + y;
Predicate<double> isLessThanTen = f => f < 10;
print(isLessThanTen(square(add(4, 5))));
Console.ReadKey();
我不明白這個問題。你問你是否可以在單獨的lambda表達式中重複使用相同的變量(當然在同一個閉包之外),還是在同一個閉包中使用它?你能提供一個你認爲應該工作的例子嗎? – BradleyDotNET