相关疑难解决方法(0)

按枚举排序列表<T>,其中枚举无序

我有一个消息列表.每条消息都有一个类型.

public enum MessageType
{
    Foo = 0,
    Bar = 1,
    Boo = 2,
    Doo = 3
}
Run Code Online (Sandbox Code Playgroud)

枚举名称是任意的,无法更改.

我需要返回列表排序为:Boo,Bar,Foo,Doo

我目前的解决方案是创建一个tempList,按我想要的顺序添加值,返回新列表.

List<Message> tempList = new List<Message>();
tempList.AddRange(messageList.Where(m => m.MessageType == MessageType.Boo));
tempList.AddRange(messageList.Where(m => m.MessageType == MessageType.Bar));
tempList.AddRange(messageList.Where(m => m.MessageType == MessageType.Foo));
tempList.AddRange(messageList.Where(m => m.MessageType == MessageType.Doo));
messageList = tempList;
Run Code Online (Sandbox Code Playgroud)

我怎么能用IComparer做到这一点?

c# sorting

26
推荐指数
3
解决办法
2万
查看次数

在C#中,有没有办法为新数据类型编写自定义对象初始值设定项?

在C#中,有"标准"初始化技术{Property1 ="a",Property2 ="b"},并且有一些特殊的集合变体(列表和字典).{value1,value2}和{{"key1",value1},{"key2",value2}}.

我想为树数据类型提供一个递归对象初始化器,但我不知道是否有任何方法可以自定义该机制.我想要一些看起来像s表达的东西.{item1 {item2 item3 item4} {item5 item6}}

我是通过构造函数来做的,但我想要一个更简洁的语法.

c# initialization

7
推荐指数
1
解决办法
1200
查看次数

标签 统计

c# ×2

initialization ×1

sorting ×1