サンプルプログラム
(省略)
//スコアクラス
private class Score
{
public int artScore { get; set; } //芸術のスコア
public int englishScore { get; set; } //英語のスコア
public int scienceScore { get; set; } //科学のスコア
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
System.Random r = new System.Random(100);
//ディクショナリ「personScore」に5人分のスコアを設定する
String[] persons = new String[5] { "桜木", "流川", "宮城", "三井", "赤木" };
Dictionary<String, Score> personScore = new Dictionary<String, Score>();
foreach (String person in persons)
{
Score score = new Score();
score.artScore = r.Next(100);
score.englishScore = r.Next(100);
score.scienceScore = r.Next(100);
personScore.Add(person, score);
}
//芸術のスコアの昇順でソート
var personScoreSortUp = personScore.OrderBy((x) => x.Value.artScore);
Debug.WriteLine("●芸術のスコアの昇順");
foreach (var person in personScoreSortUp)
{
Debug.Write(person.Key + ":");
Debug.Write("芸術のスコアは" + person.Value.artScore + "\t\t");
Debug.Write("英語のスコアのスコアは" + person.Value.englishScore + "\t\t");
Debug.WriteLine("科学のスコアは" + person.Value.scienceScore);
}
Debug.WriteLine("");
Debug.WriteLine("================================");
Debug.WriteLine("");
//芸術のスコアの降順でソート
var personScoreSortDown = personScore.OrderByDescending((x) => x.Value.artScore);
Debug.WriteLine("●芸術のスコアの降順");
foreach (var person in personScoreSortDown)
{
Debug.Write(person.Key + ":");
Debug.Write("芸術のスコアは" + person.Value.artScore + "\t\t");
Debug.Write("英語のスコアのスコアは" + person.Value.englishScore + "\t\t");
Debug.WriteLine("科学のスコアは" + person.Value.scienceScore);
}
}
実行結果