c# - 在两个枚举值之间交替

标签 c# enums

我有一个枚举,我想在满足条件时在两个值之间交替。目前,我正在使用 if/else 来交换值,但是是否有更好的单行方式来执行此操作?

if (myEnum == MyEnum.Val1) 
    myEnum = MyEnum.Val2
else 
    myEnum = MyEnum.Val1; 

最佳答案

您可以使用三元运算 https://msdn.microsoft.com/en-us/library/zakwfxx4(v=vs.90).aspx :

myEnum = myEnum == MyEnum.Val1 ? MyEnum.Val2 : MyEnum.Val1;

如果需要,可以添加括号以提高可读性:

myEnum = (myEnum == MyEnum.Val1) ? MyEnum.Val2 : MyEnum.Val1;

关于c# - 在两个枚举值之间交替,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37121027/

相关文章:

c# - 将纳秒转换为日期时间

c# - 使用 C# 从时间跨度中删除秒数

c# - 有没有比序列化 XML 更好的东西来在 C# 中存储可以在我自己的程序集中编译的简单数据库?

java - 如何修复操作 switch 语句

java - 检索 enum int 值

c# - 静态变量应该用枚举代替吗?

c# - 我对 MVVM 模式有一些疑问

c# - 在文本文件中搜索字符串及其上一句和下一句

ios - Swift enum CLAuthorizationStatus 是 CLAuthorizationStatus 而不是其中一种情况

c++ - 不透明和匿名枚举声明如何符合标准要求?