2
訂購列表我上課是這樣的:通過suming幾行
public class UserDataPoint
{
public string User { get; set; }
public string Category { get; set; }
public int Spend { get; set; }
public UserDataPoint(string strUser, string strCategory, int intSpend)
{
User = strUser;
Category = strCategory;
Spend = intSpend;
}
}
這是填充數據是這樣的:
var myList = new List<UserDataPoint>() {
new UserDataPoint("Bob", "Local", 34),
new UserDataPoint("Bob", "National", 16),
new UserDataPoint("Bob", "Mobile", 7),
new UserDataPoint("John", "Local", 18),
new UserDataPoint("Fred", "National", 22),
new UserDataPoint("Fred", "International", 65) };
我想填充數組:
UserDataPoint[] myArray;
使用myList中的數據,但按'用戶'排序的最高總計'花費'。因此,從上面的示例數據來看,Fred將首先進入列表(22 + 65 = 87),其次是Bob(34 + 16 + 7 = 57),最後是John(18)。
所以,我的所得數組會按以下順序填充:
UserDataPoint[] myArray = new UserDataPoint[] {
new UserDataPoint("Fred", "National", 22),
new UserDataPoint("Fred", "International", 65),
new UserDataPoint("Bob", "Local", 34),
new UserDataPoint("Bob", "National", 16),
new UserDataPoint("Bob", "Mobile", 7),
new UserDataPoint("John", "Local", 18) };
我怎樣才能實現LINQ語句來對myList中執行此排序給我myArray的?
非常感謝任何可以幫助的人。
您應該使用OrderByDescending。如果使用OrderBy,則用戶'John'是數組中的第一個元素。 – ProgramFOX
@ProgramFOX,很好的接收,謝謝。更新。 – Andrei
謝謝你們,效果很好。 – ColinCG