ScottGu 原版 In 擴展需顯式建立陣列:1.In(new int[] {1,2,3})。目標簡化為 1.In(1,2,3) 風格,類似 SQL IN 子句。
public static bool In(this object o, IEnumerable c) {
foreach (object i in c) if (i.Equals(o)) return true;
return false;
}
bool b1 = 1.In(1, 2, 3, 4, 5);
bool b2 = "Tom".In("Bob", "Kitty", "Tom");
使用 params 關鍵字即可實現可變參數呼叫,下篇將引入泛型解決型別安全問題。