先看下ScottGu對In的擴展:
調用示例1:
調用示例2:
原文地址:New "Orcas" Language Feature: Extension Methods
很多介紹擴展方法的也大都使用"In"作為例子,但很少有人再深入想一步。個人感覺這個In擴展的不夠徹底,試看如下代碼:
public static void Example1()
{
bool b1 = 1.In(new int[] { 1, 2, 3, 4, 5 });
bool b2 = "Tom".In(new string[] { "Bob", "Kitty", "Tom" });
}
//ScottGu In擴展
public static bool In(this object o, IEnumerable c)
{
foreach (object i in c)
{
if (i.Equals(o)) return true;
}
return false;
}
每次使用 In 時都要聲明一個數組(或集合),有點麻煩,如果像下面這個樣子調用應該比較簡單一些: