J'ai des cours comme ça :
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;
}
}
qui est rempli avec des données comme celles-ci :
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) };
Je voudrais remplir un tableau :
UserDataPoint[] myArray;
Avec les données de myList, mais classées par 'Utilisateur' avec la valeur la plus élevée. total "Dépenser". Ainsi, à partir des données de l'exemple ci-dessus, Fred serait le premier de la liste (22 + 65 = 87), suivi de Bob (34 + 16 + 7 = 57) et enfin de John (18).
Ainsi, mon tableau résultant serait rempli dans cet ordre :
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) };
Comment puis-je mettre en œuvre une instruction LINQ pour effectuer ce classement sur myList et obtenir myArray ?
Merci à tous ceux qui peuvent nous aider.