我有一份清单
IList<IRule> allRules = new List<IRule>()
Run Code Online (Sandbox Code Playgroud)
在该列表中,我继续并随机添加不同类型的规则,即
allRules.add(DeleteRule1)
allRules.add(AddRule1)
allRules.add(DeleteRule2)
allRules.add(EditRule1)
allRules.add(AddRule2)
allRules.add(DeleteRule3)
Run Code Online (Sandbox Code Playgroud)
所有这一切工作正常,我想弄清楚的是,我需要这个列表进行排序,所以它首先有所有的AddRules然后EditRules,最后是DeleteRules.
任何人都可以指定我可以采取的方法吗?
如果这没有意义,请告诉我,我会尝试更详细地解释.
非常感谢
似乎没有一种内置的方法来排序IList <T>.
选项1:将变量声明为List <T>类型,并使用List <T> .Sort方法.
List<IRule> allRules = new List<IRule>();
allRules.add(DeleteRule);
...
allRules.Sort();
Run Code Online (Sandbox Code Playgroud)
选项2:使用订购的新列表替换列表.
IList<IRule> allRules = new List<IRule>();
allRules.add(DeleteRule);
...
allRules = allRules.OrderBy(x => x).ToList();
Run Code Online (Sandbox Code Playgroud)
选项3:为IList <T>实现快速排序.
选项4:选择一种不同的集合类型,自动将其元素保持在特定顺序.
| 归档时间: |
|
| 查看次数: |
1814 次 |
| 最近记录: |