Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.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# - Fatal编程技术网

C# 基于迭代次数获取当前枚举值

C# 基于迭代次数获取当前枚举值,c#,C#,我有这样的枚举定义 public enum MyEnum { South = 0, East = 1, North = 2, West = 3, } 如果知道初始枚举值,如何在X次迭代后获得当前枚举值 例如,如果首字母为南,则 迭代=>南方 迭代=>East 迭代=>West 迭代=>南方 迭代=>East 等等 例如,如果首字母为West,则 迭代=>West 迭代=>南方 迭代=>East 迭代=>North 等等。您似乎在寻找模运算。可以使用以下公式计算以

我有这样的枚举定义

public enum MyEnum
{
    South = 0,
    East = 1,
    North = 2,
    West = 3,
}
如果知道初始枚举值,如何在X次迭代后获得当前枚举值

例如,如果首字母为南,则

迭代=>南方 迭代=>East 迭代=>West 迭代=>南方 迭代=>East 等等

例如,如果首字母为West,则

迭代=>West 迭代=>南方 迭代=>East 迭代=>North
等等。

您似乎在寻找模运算。可以使用以下公式计算以值e开始的迭代x 0处的枚举:

var result = (MyEnum)(((int)e + x) % 4);

您可以用枚举中的任意多个值替换4。

您似乎在寻找模运算。可以使用以下公式计算以值e开始的迭代x 0处的枚举:

var result = (MyEnum)(((int)e + x) % 4);

您可以将4替换为枚举中的任意多个值。

CurrentValue+NumIterations-1%4@mjwills-和MyEnum的转换可能需要对int和MyEnumCurrentValue+NumIterations进行一些转换-1%4@mjwills-和MyEnum的转换可能需要对int和MyEnum进行一些转换