有人知道在代码编辑器中对枚举项进行排序的方法吗,例如使用 resharper 或其他 VS 插件(即按字母顺序或整数值对项目排序)?
在一个项目中,我有一些巨大的枚举,里面有未排序的标签,对它们进行排序有助于提高可读性。
编辑:只是指出,因为很多人都提到过这一点,所以我完全知道在编译时分配给枚举项的“自动值”,如果它们没有明确的值的话。
为了更清楚一点,举两个例子:
public enum Colors
{
/// <summary>
/// Yellow color
///</summary>
Yellow,
/// <summary>
/// Green color
///</summary>
Green,
/// <summary>
/// Blue color
///</summary>
Blue,
/// <summary>
/// Red color
///</summary>
Red
}
-> 我们可能想按字母顺序重新排序。由于没有明确定义,因此不使用承认整数值。
另一个例子:
public enum Colors
{
/// <summary>
/// Yellow color
///</summary>
Yellow = 3,
/// <summary>
/// Green color
///</summary>
Green = 1,
/// <summary>
/// Blue color
///</summary>
Blue = 2,
/// <summary>
/// Red color
///</summary>
Red = 4
}
-> 我们可能希望按数值重新排序,或者为什么不按字母顺序排序。 等等。
而且我还想保留每个条目之前的注释,这意味着我不能简单地使用 Excel 或文本编辑器来执行字母排序。
谢谢
最佳答案
- 选择并剪切枚举值。
- 将它们粘贴到 Vim 中。
:sort
.- 将它们剪切并粘贴回去。
(养成在最后一个枚举值后面添加逗号的习惯很有用,即使这不是必需的,因为它可以使重新排序和添加项目更容易。)
正如@Dean Chalk 指出的那样,重新排序枚举中的项目将影响该项目的基础编号,除非您使用显式编号。只有当您存储这些数字(例如存储到数据库)、使用它们与外部进程通信或将您的枚举转换为另一个枚举时,它才会影响您。
关于c# - 在编辑器中对枚举项进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7038543/