2017-06-21 58 views
-4

我想返回User,其中金額最低。C# - 返回列表中最低值的對象

List<User> users = new List<User>(); 
users.Add(new User("Patrick", 39m)); 
users.Add(new User("Claude", 13.7m)); 
users.Add(new User("Steven", -45.3m));  

Decimal lowest = users.Min(user => user.Amount); //this gives me -45.3m 

但是我需要的是-45.3m,我需要User{"Steven", -45.3m}

+1

按金額排序,並採取新集合中的第一個對象。 –

+0

@MichaelMcGriff是的,這就是我已經完成的工作,並且這個工作很完美,但是我想把它寫得更乾淨,就像我用Decimal給出的例子。 –

+5

你搜索了什麼?我google搜索「linq選擇列表中最低的對象」,這是第一個結果:https://stackoverflow.com/questions/914109/how-to-use-linq-to-select-object-with-minimum-or-maximum -property-value –

回答

0

什麼這樣的事情......只是遍歷列表,找到的最小量。

User lowest = users[0]; 
foreach(User u in users){ 
    if(u.Amount < lowest.Amount) 
     lowest = u; 
} 
+0

鏈接傑克馬爾凱蒂在你原來的問題提供應該讓你在正確的軌道上..我只是在這裏添加這個答案作爲一種替代方式來解決它..如果人們想投我一票,這是真的我的背上沒有汗。我只是想幫助。 – phishfordead