使用 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中文网其他相关文章!