您的位置:首页 > 其它

Linq.GroupBy使用示例

2013-01-08 14:45 197 查看
public class TestClass
{
public static void TestIt()
{
var ds = DateTime.Now;
var list = new List<MA>();
list.Add(new MA { ma001 = "A", ma002 = "1" });
list.Add(new MA { ma001 = "A", ma002 = "2" });
list.Add(new MA { ma001 = "A", ma002 = "F" });
list.Add(new MA { ma001 = "B", ma002 = "1" });
list.Add(new MA { ma001 = "B", ma002 = "D" });
list.Add(new MA { ma001 = "C", ma002 = "E" });
list.Add(new MA { ma001 = "A", ma002 = "3" });
list.Add(new MA { ma001 = "B", ma002 = "A" });
var listG = list.GroupBy(p => p.ma001);
foreach (var g in listG)
{
var keys = list.Where(p => p.ma001 == g.Key).Aggregate("", (current, p) => current + p.ma002);
foreach (var p in list.Where(p => p.ma001 == g.Key))
{
p.ma003 = keys;
}
}
foreach (var p in list)
{
Console.WriteLine(string.Format("{0},{1},{2}", p.ma001, p.ma002, p.ma003));
}
var de = DateTime.Now;
Console.WriteLine("计算耗时(ms):" + (de - ds).TotalMilliseconds);
}
}
public class MA
{
public string ma001 { get; set; }
public string ma002 { get; set; }
public string ma003 { get; set; }
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: