色尼玛亚洲综合影院,亚洲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表達式,轉載需保留來源!

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

主站蜘蛛池模板: 丰城市| 增城市| 张北县| 徐汇区| 且末县| 平武县| 赤水市| 若羌县| 康保县| 濮阳市| 达拉特旗| 通海县| 栾川县| 叶城县| 通城县| 长乐市| 勐海县| 松桃| 大石桥市| 桑植县| 保康县| 双江| 板桥市| 出国| 兴隆县| 巴林左旗| 白山市| 清河县| 岗巴县| 凌云县| 丹阳市| 盈江县| 怀远县| 哈巴河县| 罗江县| 宁强县| 元朗区| 军事| 恭城| 五家渠市| 双江|