1 回答

TA貢獻1848條經驗 獲得超2個贊
您可以使用GroupBy
LINQ 中的方法來完成此操作,該方法
根據指定的鍵選擇器函數對序列的元素進行分組
在您的情況下,關鍵是year
語法GroupBy
如下所示:
List<Holiday> holidays = new List<Holiday>
{
? ? new Holiday
? ? {
? ? ? ? year = 1999,
? ? ? ? holidayName = "Easter"
? ? },
? ? new Holiday
? ? {
? ? ? ? year = 1999,
? ? ? ? holidayName = "Christmas"
? ? },
? ? new Holiday
? ? {
? ? ? ? year = 2000,
? ? ? ? holidayName = "Christmas"
? ? }
};
Dictionary<int, List<Holiday>> holidaysByYear = holidays
? ? .GroupBy(h => h.year)
? ? .ToDictionary(h => h.Key, h => h.ToList());
foreach (KeyValuePair<int, List<Holiday>> holidaysInYear in holidaysByYear)
{
? ? Console.WriteLine($"Holidays in {holidaysInYear.Key}");
? ? foreach (Holiday holiday in holidaysInYear.Value)
? ? {
? ? ? ? Console.WriteLine(holiday.holidayName);
? ? }
}
其產生的輸出為:
- 1 回答
- 0 關注
- 125 瀏覽
添加回答
舉報