对于不知道枚举本身的情况下对Enum.GetValues的结果进行排序,可以按照以下步骤操作:
var enumValues = Enum.GetValues(typeof(YourEnumType)).Cast<YourEnumType>().ToArray();
var sortedValues = enumValues.OrderBy(e => (int)e).ToArray();
以下是对上述步骤进行说明的示例:
using System;
using System.Linq;
public enum YourEnumType
{
Value2 = 2,
Value1 = 1,
Value3 = 3
}
public class Program
{
public static void Main(string[] args)
{
var enumValues = Enum.GetValues(typeof(YourEnumType)).Cast<YourEnumType>().ToArray();
var sortedValues = enumValues.OrderBy(e => (int)e).ToArray();
Console.WriteLine("原始枚举值:");
foreach (var value in enumValues)
{
Console.WriteLine(value);
}
Console.WriteLine("排序后的枚举值:");
foreach (var value in sortedValues)
{
Console.WriteLine(value);
}
}
}
输出结果为:
原始枚举值:
Value2
Value1
Value3
排序后的枚举值:
Value1
Value2
Value3
这是一种常见的对Enum.GetValues结果进行排序的方法。请注意,此示例中的排序是基于枚举值的整数值。如果枚举的值不是整数类型,你可以根据实际情况修改排序方法。在实际应用中,你可以将这个方法封装到一个公用的工具类或者帮助类中,以便在需要的时候进行调用。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云