出于 UI 目的对枚举进行排序

2023-12-28

假设我们有一个 UI,在这个 UI 中我们有一个下拉菜单。该下拉列表填充了枚举的翻译值。

Bow,我们可以按枚举的 int 值、枚举的名称以及枚举的翻译名称进行排序。

但是如果我们想要与上面提到的 3 种不同的排序该怎么办?这样的需求如何处理?


实施你自己的IComparer:

using System;
using System.Collections.Generic;

namespace test {
    class Program {

        enum X { 
            one,
            two,
            three,
            four
        }

        class XCompare : IComparer<X> {
            public int Compare(X x, X y) {
                // TBA: your criteria here
                return x.ToString().Length - y.ToString().Length;
            }
        }


        static void Main(string[] args) {
            List<X> xs = new List<X>((X[])Enum.GetValues(typeof(X)));
            xs.Sort(new XCompare());
            foreach (X x in xs) {
                Console.WriteLine(x);
            }
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

出于 UI 目的对枚举进行排序 的相关文章

  • 如何在 Unity 中从 RenderTexture 访问原始数据

    问题的简短版本 我正在尝试访问 Unity 中 RenderTexture 的内容 我一直在使用 Graphics Blit 使用自己的材质进行绘制 Graphics Blit null renderTexture material 我的材
  • FFMPEG Seeking 带来音频伪影

    我正在使用 ffmpeg 实现音频解码器 在读取音频甚至搜索已经可以工作时 我无法找到一种在搜索后清除缓冲区的方法 因此当应用程序在搜索后立即开始读取音频时 我没有任何工件 avcodec flush buffers似乎对内部缓冲区没有任何
  • Cygwin 下使用 CMake 编译库

    我一直在尝试使用 CMake 来编译 TinyXML 作为一种迷你项目 尝试学习 CMake 作为补充 我试图将其编译成动态库并自行安装 以便它可以工作 到目前为止 我已经设法编译和安装它 但它编译成 dll 和 dll a 让它工作的唯一
  • 为什么 POSIX 允许在只读模式下超出现有文件结尾 (fseek) 进行搜索

    为什么寻找文件结尾很有用 为什么 POSIX 让我们像示例中那样在以只读方式打开的文件中进行查找 c http en cppreference com w c io fseek http en cppreference com w c io
  • C# 中值类型和引用类型有什么区别? [复制]

    这个问题在这里已经有答案了 我知道一些差异 值类型存储在堆栈上 而引用类型存储在托管堆上 值类型变量直接包含它们的值 而引用变量仅包含对托管堆上创建的对象位置的引用 我错过了任何其他区别吗 如果是的话 它们是什么 请阅读 堆栈是一个实现细节
  • c 中的错误:声明隐藏了全局范围内的变量

    当我尝试编译以下代码时 我收到此错误消息 错误 声明隐藏了全局范围内的变量 无效迭代器 节点 根 我不明白我到底在哪里隐藏或隐藏了之前声明的全局变量 我怎样才能解决这个问题 typedef node typedef struct node
  • .Net Core / 控制台应用程序 / 配置 / XML

    我第一次尝试使用新的 ConfigurationBuilder 和选项模式进入 Net Core 库 这里有很多很好的例子 https docs asp net en latest fundamentals configuration ht
  • A* 之间的差异 pA = 新 A;和 A* pA = 新 A();

    在 C 中 以下两个动态对象创建之间的确切区别是什么 A pA new A A pA new A 我做了一些测试 但似乎在这两种情况下 都调用了默认构造函数 并且仅调用了它 我正在寻找性能方面的任何差异 Thanks If A是 POD 类
  • Windows 窗体不会在调试模式下显示

    我最近升级到 VS 2012 我有一组在 VS 2010 中编码的 UI 测试 我试图在 VS 2012 中启动它们 我有一个 Windows 窗体 在开始时显示使用 AssemblyInitialize 属性运行测试 我使用此表单允许用户
  • 更改窗口的内容 (WPF)

    我创建了一个简单的 WPF 应用程序 它有两个 Windows 用户在第一个窗口中填写一些信息 然后单击 确定 这会将他们带到第二个窗口 这工作正常 但我试图将两个窗口合并到一个窗口中 这样只是内容发生了变化 我设法找到了这个更改窗口内容时
  • 可空属性与可空局部变量

    我对以下行为感到困惑Nullable types class TestClass public int value 0 TestClass test new TestClass Now Nullable GetUnderlyingType
  • 如何在服务器上保存用户凭据以在后台运行查询

    背景 我们有一个 ASP NET Silveright Web 应用程序 silverlight客户端显示用户 图形形式的特定数据 它从服务器请求数据 问题 由于服务器必须执行底层数据库查询 获取这些数据的成本很高 因此客户端必须等待 优化
  • 作为字符串的动态属性名称

    使用 DocumentDB 创建新文档时 我想设置属性名称动态地 目前我设置SomeProperty 像这样 await client CreateDocumentAsync dbs db colls x new SomeProperty
  • 如何构建印度尼西亚电话号码正则表达式

    这些是一些印度尼西亚的电话号码 08xxxxxxxxx 至少包含 11 个字符长度 08xxxxxxxxxxx 始终以 08 开头 我发现这个很有用 Regex regex new Regex 08 0 9 0 9 0 9 0 9 0 9
  • 如何在内存中存储分子?

    我想将分子存储在内存中 这些可以是简单的分子 Methane CH4 C H bond length 108 7 pm H H angle 109 degrees But also more complex molecules like p
  • ListDictionary 类是否有通用替代方案?

    我正在查看一些示例代码 其中他们使用了ListDictionary对象来存储少量数据 大约 5 10 个对象左右 但这个数字可能会随着时间的推移而改变 我使用此类的唯一问题是 与我所做的其他所有事情不同 它不是通用的 这意味着 如果我在这里
  • 方法参数内的变量赋值

    我刚刚发现 通过发现错误 你可以这样做 string s 3 int i int TryParse s hello out i returns false 使用赋值的返回值是否合法 Obviously i is but is this th
  • 将变量分配给另一个变量,并将一个变量的更改反映到另一个变量中

    是否可以将一个变量分配给另一个变量 并且当您更改第二个变量时 更改会瀑布式下降到第一个变量 像这样 int a 0 int b a b 1 现在 b 和 a 都 1 我问这个问题的原因是因为我有 4 个要跟踪的对象 并且我使用名为 curr
  • 将 viewbag 从操作控制器传递到部分视图

    我有一个带有部分视图的 mvc 视图 控制器中有一个 ActionResult 方法 它将返回 PartialView 因此 我需要将 ViewBag 数据从 ActionResult 方法传递到 Partial View 这是我的控制器
  • 为什么 strtok 会导致分段错误?

    为什么下面的代码给出了Seg 最后一行有问题吗 char m ReadName printf nRead String s n m Writes OK char token token strtok m 如前所述 读取字符串打印没有问题 但

随机推荐

  • 将多个通用接口传递给一个方法

    我试图将多个通用接口作为参数传递给我的类之一的构造函数 以下代码无法编译 public interface IPosterGenerator
  • 如何使用Gradle将Android配置注入到每个子项目中?

    而不是在每个子项目中复制 android 配置块 android compileSdkVersion 19 buildToolsVersion 19 0 0 defaultConfig minSdkVersion 9 targetSdkVe
  • 为什么使用“set var = value”获取脚本会破坏 $@?

    我正在尝试在 Centos 虚拟机上配置自动注销 我注意到 如果我在 etc profile d autologout sh 创建一个文件 仅set autologout 30在文件中 然后它会中断为任何源自 etc profile 的脚本
  • 如何通过拖动来调整 PyQt 小部件的大小?

    我有一个 QScrollArea 其中包含一个带有 QVBoxLayout 的小部件 该布局内还有其他几个小部件 我希望用户能够拖动这些小部件的下边框以在垂直方向上调整它们的大小 当它们调整大小时 我不希望它们从滚动区域中的其他小部件 窃取
  • 使用 GDI+ 将 24 bpp 转换为 4 bpp

    我的程序当前采用 4 bpp 每像素位数 TIFF 作为位图 将其转换为图形 添加一些文本字符串 然后再次将其保存为 TIFF 文件 默认情况下 输出 Bitmap Save TIFF 文件似乎为 24 bpp 无论输入如何 并且比原始 T
  • Snowflake服务器的规格是什么?

    当谈到集群大小时 文档指出 例如 XS 集群由 1 台服务器组成 但我一直在寻找服务器规范 但似乎找不到有关此主题的任何文档 对于 AWS Snowflake 如果您在 Chrome F12 中打开浏览器控制台并在普通的 Snowflake
  • 如何安装“Visual studio emulator for android”模拟器的证书?

    我正在研究一个Xamarin 表单需要打电话的httpclient使用公司的内部 https REST api 不幸的是 它返回此错误 Javax Net Ssl SSLHandshakeException java security ce
  • 使用 jQuery 删除所有数据表

    所以 我将数据表与 jQuery 一起使用 但我有点困惑为什么这不起作用 我的 HTML 看起来像这样 table border 1 class display partitionDisplay caption Partitions cap
  • process.waitFor() 永远不会返回

    Process process Runtime getRuntime exec tasklist BufferedReader reader new BufferedReader new InputStreamReader process
  • 使用 JAVA 将希伯来语写入 mySql

    我有一个小的 Java 方法 可以将短消息插入 MySQL 数据库 该表的默认排序规则是utf8 unicode ci java代码是 private void insertMessageToDataBase String lRoom St
  • 这个登录逻辑是通过RESTful调用声音实现的吗?

    我不是在谈论对 RESTful API 的调用进行身份验证 我是在谈论通过 RESTful API 为用户创建登录逻辑 当用户访问我网站的任何页面时 servlet filter将拦截请求并检查是否有必要authentication inf
  • 在asp.net mvc视图中将字符串显示为html

    我有一个控制器 它生成一个包含 html 标记的字符串 当它显示在视图上时 它显示为包含所有标签的简单字符串 我尝试使用 Html 助手进行编码 解码以正确显示它 但它不起作用 string str a href Home Profile
  • numpy.loadtxt 不读取复数文件

    我正在尝试读取具有以下形式的复数的文件 data dat 1 5795219122457646E 11 3 852906516379872E 15i 3 5949335665378405E 12 1 626143709108086E 15i
  • 手风琴内的 flexslider 行为问题

    我有一个测试页 http bellotaestudio com test test html更好地解释我的问题 我的列表中有几个项目 它们是测试页上的图像 当我点击其中一个时 相应的幻灯片 使用flexslider 向下滑动 问题在于 在页
  • Symfony 登录身份验证返回错误:在非对象上调用成员函数 toArray()

    我正在开发一个使用 symfony 2 5 构建的网站 要求是每个用户只需要拥有一个角色 用户不能拥有超过 1 个角色 因此在用户名和密码所在的用户表中还有另一列名字role其中包含ROLE ADMIN对于管理员和ROLE STAFF对于公
  • 如何从存储库中删除所有已删除的文件?

    我有一个脚本 在其中添加所有新文件 然后使用以下行将我的工作副本提交到我的存储库 svn status grep awk print 2 xargs svn add 我现在想添加一行 从存储库中删除工作副本中所有已删除的文件 换句话说 我无
  • Web 表单中的进度条

    我正在 net 中创建一个网络表单 其中大约有 14 个字段 我想在网络表单的末尾创建一个进度条 它将显示以下状态 表格填写 如果表格的所有字段都已填写 则会显示 100 正在进行中 栏 否则它将根据表单状态显示一些 我怎样才能在 Net
  • 如何在 Android PhoneGap 中测试推送通知?

    我从下载了推送通知示例项目马克纳特项目 https github com marknutter GCM Cordova并将其导入为 android 项目 目前工作正常 我可以从设备注册 由于我没有服务器向设备发送通知 我应该如何测试设备是否
  • javascript 预加载图像 - 检查图像是否被缓存/加载以防止预加载

    我有一些疑问 我已经确定了这些疑问 但仍想非常准确地说明 如果这是重复的问题 请给我链接 以便我删除此问题并参考提供的链接 我需要预加载一些图像 如果它们已经存在于浏览器缓存中 我不想预加载 如果我们要预加载 那么我们使用 javascri
  • 出于 UI 目的对枚举进行排序

    假设我们有一个 UI 在这个 UI 中我们有一个下拉菜单 该下拉列表填充了枚举的翻译值 Bow 我们可以按枚举的 int 值 枚举的名称以及枚举的翻译名称进行排序 但是如果我们想要与上面提到的 3 种不同的排序该怎么办 这样的需求如何处理