我为我的用户创建了一个message
课程:
public class Message
{
[DisplayName("Message")]
public string shortContent { get; set; }
[DisplayName("Line")]
public int line { get; set; }
[DisplayName("File Name")]
public string file { get; set; }
[DisplayName("Level")]
public MessageLevel level { get; set; }
...
}
public enum MessageLevel
{
Information,
Warning,
Error
}
要向我喜爱的用户显示此内容,我将其绑定到自定义绑定列表(以便允许他们对消息进行排序)。
我希望能够通过某些属性(level
,shortContent
基本上)对邮件进行分组,但我无法通过Linq
找到任何简单方法
我试图使用GroupBy没有运气。我希望改变这一点:
Message Line File Name Level Date Read Full message
The device is not ready. 46 OpenFileControl.cs Error 24/09/2015 3:01 True
The device is not ready. 46 OpenFileControl.cs Error 24/09/2015 3:02 True
Some Random message. -1 Unkown Error
为:
Message Count
The device is not ready. 2
Some Random message. 1
答案 0 :(得分:1)
使用GroupBy应该可行。请记住,你不修改你的绑定列表,所以绑定到它的任何东西都不会注意到你正在分组。
list.GroupBy(x => x.Message)
.Select(x => new { Message = x.Key, Count = x.Count() })