如何在 LINQ 中的 where 子句中添加 in 命令?

发布于 2024-10-31 22:20:52 字数 218 浏览 0 评论 0原文

如果我有一个 where 子句如下:

Where item.field == "value"

如何将 LINQ 中的语句更改为:

   Where item.field in ("value1","value2","value3")

看起来很简单,但不起作用。

提前致谢

If I have a where clause as follows:

Where item.field == "value"

How can I change the statement in LINQ to be:

   Where item.field in ("value1","value2","value3")

Seems simple, not working.

Thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

忘你却要生生世世 2024-11-07 22:20:52

首先在变量中声明您的“in”值集合:

var collection = new[] { "value1","value2","value3" };

然后在查询中使用它:

...
where collection.Contains(item.field)
...

Declare your "in" values collection in a variable first:

var collection = new[] { "value1","value2","value3" };

And then use it in query:

...
where collection.Contains(item.field)
...
↙温凉少女 2024-11-07 22:20:52

或者使用 lambda 语法(假设您正在搜索一个集合):

var lookup = new[] { "value1","value2","value3" };
var result = collection.Where(x=> lookup.Contains(x)).ToArray();

Or in lambda syntax(say you have a collection you are searching through):

var lookup = new[] { "value1","value2","value3" };
var result = collection.Where(x=> lookup.Contains(x)).ToArray();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文