Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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# Visual Studio 2017-按字母顺序排序现有枚举成员_C#_Sorting_Enums_Visual Studio 2017 - Fatal编程技术网

C# Visual Studio 2017-按字母顺序排序现有枚举成员

C# Visual Studio 2017-按字母顺序排序现有枚举成员,c#,sorting,enums,visual-studio-2017,C#,Sorting,Enums,Visual Studio 2017,我正在寻找一种快速的方法,可以按字母顺序对switch语句中定义的现有enum成员进行排序 我似乎找不到任何东西来做这件事,在ReSharper也找不到,我本以为它会出现在任何地方 有人知道如何在不手动操作的情况下实现这一点吗?VS2017中有一个灯泡工具,用于添加缺失的案例(IDE0010),但没有排序功能。 此“添加缺少的案例”功能遵循枚举声明中的值顺序,这是您通常想要的 对现有交换机案例列表进行适当排序是扩展的一个想法 但说真的,你为什么真的要这么做? 我们通常按照枚举本身定义的顺序对基于

我正在寻找一种快速的方法,可以按字母顺序对switch语句中定义的现有enum成员进行排序

我似乎找不到任何东西来做这件事,在ReSharper也找不到,我本以为它会出现在任何地方


有人知道如何在不手动操作的情况下实现这一点吗?

VS2017中有一个灯泡工具,用于添加缺失的案例(IDE0010),但没有排序功能。 此“添加缺少的案例”功能遵循枚举声明中的值顺序,这是您通常想要的

对现有交换机案例列表进行适当排序是扩展的一个想法

但说真的,你为什么真的要这么做? 我们通常按照枚举本身定义的顺序对基于枚举的开关案例进行排序,如果恰好是字母顺序,则可以,否则它们的顺序可能具有枚举作者暗示的功能含义,并且可以按照开关案例顺序进行复制


如果案例仍然为空,则可以使用VS扩展对声明中的枚举字段进行排序,删除所有案例,并执行IDE0010“添加缺少的案例”工具。

为什么要对枚举进行排序?这在Visual Studio中不会作为工具存在,您需要自己编写。不要在
enum
值周围使用
switch
语句,而是研究使用带有静态成员的类来表示enum的值/将您的逻辑放入该类中。更多信息:@D-Shih,因为我希望它们排序:-)原始枚举是按字母顺序排序的,所以这就是我提到的原因。按枚举中定义的位置进行排序是一个很酷的主意。枚举值不是在switch语句中定义的,而是在
enum
声明中定义的。它们的顺序是重要的;它们关联的整数值按顺序分配(默认情况下)
System.Enum
有一个将值作为字符串返回的方法。对该列表进行排序很容易。但是,没有VS不是为了you@Flydog57我很清楚枚举值不是在switch语句中定义的。似乎很奇怪,没有加载项可以使它们与原始枚举声明保持同步-(