class Layer{ public string name {get; set;} public Layercolor color {get; set;}}enum Layercolor{ Red,Blue,Green}
喜欢:
(red) layer2(red) layer7(blue) layer0(blue) layer3...
我正在查看SortedList,但它的行为就像一个Dictionary,所以不允许重复的项目.
另外我正在使用一个API,我通过创建顺序获取了图层列表,所以我需要获得完整的图层列表来按照我想要的方式进行排序.
最终,图层列表将被绑定到一个WPF用户界面,用户将可以添加新的图层,这就是为什么我希望内部列表总是被排序,因为性能不重要(层数少于一千).
最后,我排序的图层将通过以下方式访问:
class Image{ public MySortedList<Layer> Layers {get; set;}}
最好的方式是做什么?
解决方法@H_301_23@ 你有搜索吗? Generic SortedList和 SortedList.所以我错过了重复的部分,这使我有点难以同意.但这里是我如何解决它:
var sortedList = new SortedList<Layercolor,SortedList<Layer,Layer>>();var redSortedList = new SortedList<Layer,Layer>();// Add all layers associated with the color redsortedList.Add(Layercolor.Red,redSortedList);
会为你工作吗此外,我更喜欢使用linq,但如果你真的想要一个排序列表,我的解决方案将很有可能工作.
最后尝试:):
public class YourClass{ private List<Layer> _layers; public List<Layer> Layers { get { _layers = _layers.OrderBy(y => y.Layercolor).ThenBy(y => y.name).ToList(); return _layers; } set { _layers = value; } }}
请注意,我直接在浏览器中编写,而不是在VS中进行测试(坐在OS X上),但是您可能会得出结论.
总结以上是内存溢出为你收集整理的c# – 有没有在.NET中自动排序的列表?全部内容,希望文章能够帮你解决c# – 有没有在.NET中自动排序的列表?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)