假设我们有一个 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(使用前将#替换为@)