C# 使用C中的Linq验证枚举的所有值
嗯,我有这个:C# 使用C中的Linq验证枚举的所有值,c#,linq,enums,C#,Linq,Enums,嗯,我有这个: public enum letters {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z} 我想这样做: letters letter = letters.a; if(letter == a || letter == b || letter = c || //to z...) { //countinue... } 如何使用LINQ表达式执行此操作 编辑: 我意识到我可以
public enum letters {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z}
我想这样做:
letters letter = letters.a;
if(letter == a || letter == b || letter = c || //to z...) {
//countinue...
}
如何使用LINQ表达式执行此操作
编辑:
我意识到我可以直接返回true,但如果我不想返回其中一个,例如字母d和其他字母g,我该怎么做呢
编辑2:
我喜欢奇怪的答案,我不喜欢像这样的答案:| |或类似的东西。。。所以,教我如何使用linq。IsDefined是一个很好的方法:P
提前谢谢
我意识到我可以直接返回true,但如果我想
一个,例如字母d,我怎么做
您可以使用Where+包含:
我意识到我可以直接返回true,但如果我想
一个,例如字母d,我怎么做
您可以使用Where+包含:
如果您想在更新要求时对照一个进行检查: 但是如果我想排除一个,比如字母d,我怎么能做到呢 然后简单地做
if (letter != Letters.D)
{
// not D
}
你们最初的问题总是正确的,因为字母不能是字母中的一个
要检查多个值,可以执行以下操作
var invalidLetters = new[] { Letters.A, Letters.B };
if (invalidLetters.Contains(letter))
{
// letter is Letters.A or Letters.B
}
如果您想在更新要求时对照一个进行检查: 但是如果我想排除一个,比如字母d,我怎么能做到呢 然后简单地做
if (letter != Letters.D)
{
// not D
}
你们最初的问题总是正确的,因为字母不能是字母中的一个
要检查多个值,可以执行以下操作
var invalidLetters = new[] { Letters.A, Letters.B };
if (invalidLetters.Contains(letter))
{
// letter is Letters.A or Letters.B
}
试一试
试一试
您可以尝试以下方法:
if(Enum.IsDefined(typeof(letters), letter))
{
return 1;
}
else
{
return 0;
}
您可以尝试以下方法:
if(Enum.IsDefined(typeof(letters), letter))
{
return 1;
}
else
{
return 0;
}
什么字母值可能会不通过测试?是的,我会编辑这个问题,请稍候您查找枚举。是否定义?字母值将始终仅来自枚举。好的,我会编辑它。。。所以,现在我想除掉d并验证其他的…字母的哪个值可能会通过测试?是的,我会编辑这个问题,请稍候。您是否正在查找枚举。IsDefined?字母值将始终仅来自枚举。好的,我会编辑它。。。所以,现在我想除掉d并验证其他的…好的,是的。。。我也没有意识到这一点。。。如果我想在不使用| |的情况下除了2个或更多?是的。。。我的意思是,简单但同样奇怪的答案是:嗯,是的。。。我也没有意识到这一点。。。如果我想在不使用| |的情况下除了2个或更多?是的。。。我的意思是,简单但同样奇怪的答案:P