gpt4 book ai didi

c# - 可以在 C# 和 LINQ Lambda 表达式中使用 "in"类型语句吗?

转载 作者:太空宇宙 更新时间:2023-11-03 17:25:13 25 4
gpt4 key购买 nike

我需要不时地比较一些值,例如:

if (myCurrentUser.Role in ("Admin","User"))

但是上面的方法好像不行,需要做的是:

if (myCurrentUser.Role == "Admin" || myCurrentUser.Role == "User")

开始变得很长。

那么有没有一种方法可以“进入”方法。显然可以在 SQL 中做到这一点。

我也想在 LINQ Lambda 表达式中使用它。

var myRecords = db.mytable.where(r=>r.name in ("Roy","Jack"))

目前我这样写:

var myRecords = db.mytable.where(r=>((r.name == "Roy")||(r.name == "Jack")));

提前致谢。

最佳答案

您可以使用 Contains 来做到这一点。试试这个:

var names = new List<string>() { "Roy", "Jack" };
db.mytable.Where(r => names.Contains(r.name));

关于c# - 可以在 C# 和 LINQ Lambda 表达式中使用 "in"类型语句吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18099526/

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