c# - 在 C# 中使用 Linq 验证枚举的所有值

标签 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 表达式执行此操作?

编辑:

我意识到我可以直接返回true,但是如果我想排除一个,例如字母“d”和其他字母如“g”,我该怎么做?

编辑2:

我喜欢奇怪的答案,我不喜欢像“使用这个:”||”或类似的东西这样的答案......所以教我如何用 linq 做到这一点。IsDefined 是一个很好的方法:

提前致谢。

最佳答案

如果您想根据更新要求进行检查:

but if I want to excepting one, for example letter "d", how can I do that?

然后简单地做

if (letter != Letters.D)
{
    // not D
}

您最初的问题始终是正确的,因为 letter 不能不是 Letters 之一。#


要检查多个值,您可以执行以下操作

var invalidLetters = new[] { Letters.A, Letters.B };

if (invalidLetters.Contains(letter))
{
    // letter is Letters.A or Letters.B
}

关于c# - 在 C# 中使用 Linq 验证枚举的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24735541/

相关文章:

C#设置打印机

c# - 为什么 "Using Nullable Types"上的 C# 编程指南列出了一个无效数组作为示例?

c# - 尝试使用 linq 转换数据

java - Java 时区枚举中的 Eclipse 变量错误

c# - AutoMapper 可以在值类型(枚举)和引用类型之间进行映射吗? (字符串)

c# - 使用 EPPlus 返回 INT 的 Excel 日期列

c# - 从集合中通用创建逗号分隔的字符串列表

c# - 在 c# mvc 中发送多维对象,并渲染单个属性到 c# mvc View

C# Interface IEnumerable Any() 没有指定泛型类型

asp.net-mvc - 如何将枚举传递给Html.RadioButtonFor以获取MVC 2 RC 2,C#中的单选按钮列表