How to get next (or previous) enum value in C#

后端 未结 24 1944
深忆病人
深忆病人 2020-12-04 10:59

I have an enum which is defined like this:

public enum eRat { A = 0, B=3, C=5, D=8 };

So given value eRat.B, I want to get the

24条回答
  •  暖寄归人
    2020-12-04 11:16

    LINQ solution that does not break on last element but continues at the default again:

    var nextValue = Enum.GetValues(typeof(EnumT)).Cast().Concat(new[]{default(EnumT)}).SkipWhile(_ => _ != value).Skip(1).First();
    

提交回复
热议问题