Re: [問題] Linq 的 Max 如何取得具最大值的那個物件
※ 引述《AmosYang (LetMeGoogleThatForYou)》之銘言:
: 如果要「找出所有 age 為 max age 的 customer」
: 還是先跑一次 .Max() 再 select 吧 :p
: 硬擠成一行或許辦得到,但大概會寫得很噁心 XD
OK 我嚐試的結果如下 (回您信箱之後又作一些簡化)
class Customer {
public string Name;
public int Age;
}
private void button1_Click(object sender, EventArgs e) {
Customer[] customers = new Customer[] {
new Customer { Name = "Alice", Age = 30 },
new Customer { Name = "Bob", Age = 35 },
new Customer { Name = "Clair", Age = 25 },
new Customer { Name = "Darren", Age = 35 }
};
var oldest = customers.Aggregate(new List<Customer>(), (list, c) => {
if(list.Count < 1 || c.Age > list[0].Age)
return new List<Customer> { c };
if(c.Age == list[0].Age) list.Add(c);
return list;
});
foreach(Customer c in oldest)
MessageBox.Show(string.Format("{0} {1}", c.Age, c.Name));
}
謝謝您的幫助
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.41.97
→
07/06 01:13, , 1F
07/06 01:13, 1F
→
07/06 01:15, , 2F
07/06 01:15, 2F
→
07/06 01:16, , 3F
07/06 01:16, 3F
→
07/06 02:30, , 4F
07/06 02:30, 4F
→
07/06 02:31, , 5F
07/06 02:31, 5F
→
07/06 02:32, , 6F
07/06 02:32, 6F
→
07/06 08:31, , 7F
07/06 08:31, 7F
→
07/06 08:33, , 8F
07/06 08:33, 8F
討論串 (同標題文章)
完整討論串 (本文為第 3 之 3 篇):
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章