C# Dictionary 정렬 하기
public class Game
{
public String TeamName { get; set; }
public DateTime StartTime { get; set; }
public int Ticket { get; set; }
}
public void DictionarySort()
{
Dictionary dicGame = new Dictionary();
dicGame.Add(4, new Game { TeamName = "동부", Ticket = 30, StartTime = new DateTime(2017, 03, 17, 09, 0, 0) } );
dicGame.Add(2, new Game { TeamName = "남부", Ticket = 20, StartTime = new DateTime(2017, 03, 17, 12, 0, 0) });
dicGame.Add(3, new Game { TeamName = "서부", Ticket = 40, StartTime = new DateTime(2017, 03, 17, 15, 0, 0) });
dicGame.Add(1, new Game { TeamName = "북부", Ticket = 10, StartTime = new DateTime(2017, 03, 17, 18, 0, 0) });
var list = dicGame.Keys.ToList();
foreach (var key in list)
{
Console.WriteLine("{0}: {1}", key, list[key]);
}
var items = from p in dicGame
orderby p.Value ascending
select p;
foreach (KeyValuePair p in items)
{
Console.WriteLine("{0}: {1}", p.Key, p.Value.TeamName);
}
foreach (var item in dicGame.OrderBy(i => i.Value.StartTime))
{
//dicGame.OrderBy(i => i.Key)
Console.WriteLine(item.Value.TeamName);
}
}