色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

C#中的委托,匿名方法和Lambda表達式

  簡介

  在.NET中,委托,匿名方法和Lambda表達式很容易發生混淆。我想下面的代碼能證實這點。下面哪一個First會被編譯?哪一個會返回我們需要的結果?即Customer.ID=5.答案是6個First不僅被編譯,并都獲得正確答案,且他們的結果一樣。如果你對此感到困惑,那么請繼續看這篇文章。

class Customer 
{
public int ID { get; set; }
public static bool Test(Customer x)
{
return x.ID == 5;
}
}
...
List
<Customer> custs = new List<Customer>();
custs.Add(
new Customer() { ID = 1 });
custs.Add(
new Customer() { ID = 5 });

custs.First(
new Func<Customer, bool>(delegate(Customer x) { return x.ID == 5; }));
custs.First(
new Func<Customer, bool>((Customer x) => x.ID == 5));
custs.First(
delegate(Customer x) { return x.ID == 5; });
custs.First((Customer x)
=> x.ID == 5);
custs.First(x
=> x.ID == 5);
custs.First(Customer.Test);

NET技術C#中的委托,匿名方法和Lambda表達式,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 南涧| 丹巴县| 汕尾市| 寿光市| 专栏| 丰顺县| 汝城县| 德兴市| 永登县| 资中县| 聊城市| 尤溪县| 巴楚县| 东方市| 农安县| 新和县| 堆龙德庆县| 正定县| 海兴县| 开远市| 樟树市| 洛阳市| 阳山县| 福海县| 潢川县| 元阳县| 全州县| 济宁市| 成武县| 休宁县| 秦安县| 双流县| 瓦房店市| 盐源县| 永年县| 西充县| 班玛县| 德惠市| 安陆市| 林州市| 江津市|