Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用C中的Linq验证枚举的所有值_C#_Linq_Enums - Fatal编程技术网

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