使用LINQ Contains(string[]) 而不是Contains(string)
在LINQ 查詢中,Contains 運算子用於檢查是否集合中存在特定值。預設情況下,Contains 接受單一字串作為其參數。但是,某些場景可能需要比較字串陣列中的多個值。
要解決此問題,您可以為 string[] 建立自訂擴充方法,允許其與 Contains 運算子一起使用。
自訂擴充方法:
public static bool ContainsArray(this string[] array, string value) { return array.Any(element => element == value); }
此方法迭代字串數組,如果指定的值為 true,則傳回 true找到,否則為 false。
在LINQ 查詢中的使用:
定義擴充方法後,您現在可以在LINQ 查詢中使用它:
var uids = new[] { "1", "45", "20", "10" }; var query = from xx in table where xx.uid.ToString().ContainsArray(uids) select xx;
透過使用ContainsArray 擴充方法,您現在可以將xx.uid 的值與uids 字串中的多個值進行比較大批。查詢將傳回指定數組中包含 xx.uid 的所有實體。
以上是如何使用 LINQ Contains 與字串陣列而不是單一字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!