gpt4 book ai didi

c# - Linq Where条件匹配数组

转载 作者:行者123 更新时间:2023-11-30 13:16:58 39 4
gpt4 key购买 nike

我的模型中有一个从数据库中获取的 linq 列表。现在我有一个从我的 Controller 获得的字符串数组。我要构造一个语句

伪代码

List<object> objlist = db.objects.tolist();
string[] strarray; // obtained from a long code.
var k = objlist.Where(u => u.somecol == strarray[0] || u.somecol == strarray[1]........strarray[n]).toList();

由于我的 strarray[] 是可变长度的并且最多可以包含 1000 个单词,所以我有点困惑如何实现这一点。

最佳答案

您可以使用 Array.IndexOf<T> Method 检查数组是否包含某些项目:

bool strarrayContainsX = Array.IndexOf<string>(strarray, "X") >= 0;

不过,我建议您使用 HashSet<string>而不是用于多个项目的字符串数组。 The HashSet<T> Class提供一个 Contains Method检查集合是否包含某些项目:

HashSet<string> strset = new HashSet<string>(strarray);
bool strsetContainsX = strset.Contains("X");

结果查询如下所示:

var k = objlist.Where(u => strset.Contains(u.somecol)).ToList();

关于c# - Linq Where条件匹配数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18288290/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com