【发布时间】:2011-05-29 19:55:00
【问题描述】:
我想分组,然后对组内的项目进行排序。
我该如何使用 lamda,
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var data = new[]
{
new { Name="Tasty", Type="Strawberries", isAvail=true, Price=1.90m, Quantity=20 },
new { Name="Granny Smith", Type="Apple", isAvail=false, Price=0.80m, Quantity=7 },
new { Name="Gala", Type="Apple", isAvail=true, Price=0.75m, Quantity=10 }
};
var grouped = data.GroupBy(record => record.Type).OrderBy(x => x.Min(y => (Decimal)y.Price));
foreach (var group in grouped)
{
Console.WriteLine("Key {0}", group.Key);
foreach (var item in group)
{
Console.WriteLine("\t{0}", item.Name);
}
}
Console.ReadLine();
}
}
}
上面给了我这个..
钥匙 - 苹果
----史密斯奶奶
----晚会
钥匙 - 草莓
----好吃
但是你可以看到 Gala 的价格比 Granny smith 低……我做错了什么?请帮忙!
【问题讨论】: