C# Visual Studio 2017-按字母顺序排序现有枚举成员
我正在寻找一种快速的方法,可以按字母顺序对switch语句中定义的现有enum成员进行排序 我似乎找不到任何东西来做这件事,在ReSharper也找不到,我本以为它会出现在任何地方C# Visual Studio 2017-按字母顺序排序现有枚举成员,c#,sorting,enums,visual-studio-2017,C#,Sorting,Enums,Visual Studio 2017,我正在寻找一种快速的方法,可以按字母顺序对switch语句中定义的现有enum成员进行排序 我似乎找不到任何东西来做这件事,在ReSharper也找不到,我本以为它会出现在任何地方 有人知道如何在不手动操作的情况下实现这一点吗?VS2017中有一个灯泡工具,用于添加缺失的案例(IDE0010),但没有排序功能。 此“添加缺少的案例”功能遵循枚举声明中的值顺序,这是您通常想要的 对现有交换机案例列表进行适当排序是扩展的一个想法 但说真的,你为什么真的要这么做? 我们通常按照枚举本身定义的顺序对基于
有人知道如何在不手动操作的情况下实现这一点吗?VS2017中有一个灯泡工具,用于添加缺失的案例(IDE0010),但没有排序功能。 此“添加缺少的案例”功能遵循枚举声明中的值顺序,这是您通常想要的 对现有交换机案例列表进行适当排序是扩展的一个想法 但说真的,你为什么真的要这么做? 我们通常按照枚举本身定义的顺序对基于枚举的开关案例进行排序,如果恰好是字母顺序,则可以,否则它们的顺序可能具有枚举作者暗示的功能含义,并且可以按照开关案例顺序进行复制
如果案例仍然为空,则可以使用VS扩展对声明中的枚举字段进行排序,删除所有案例,并执行IDE0010“添加缺少的案例”工具。为什么要对枚举进行排序?这在Visual Studio中不会作为工具存在,您需要自己编写。不要在
enum
值周围使用switch
语句,而是研究使用带有静态成员的类来表示enum的值/将您的逻辑放入该类中。更多信息:@D-Shih,因为我希望它们排序:-)原始枚举是按字母顺序排序的,所以这就是我提到的原因。按枚举中定义的位置进行排序是一个很酷的主意。枚举值不是在switch语句中定义的,而是在enum
声明中定义的。它们的顺序是重要的;它们关联的整数值按顺序分配(默认情况下)System.Enum
有一个将值作为字符串返回的方法。对该列表进行排序很容易。但是,没有VS不是为了you@Flydog57我很清楚枚举值不是在switch语句中定义的。似乎很奇怪,没有加载项可以使它们与原始枚举声明保持同步-(