using System.Collections.Generic;
public static void Main()
new X {Code = "1234", ResCode = "ABC", TimingCode = "TAPOAC" },
new X {Code = "1234", ResCode = "ABK", TimingCode = "TAQ123" },
new X {Code = "1234", ResCode = "ABK", TimingCode = "TAQ124" },
new X {Code = "1234", ResCode = "ABK", TimingCode = "TAQ125" },
new X {Code = "1234", ResCode = "ABK", TimingCode = "TAQ126" },
Dictionary<string, Dictionary<string, List<string>>> result =
list.GroupBy(x => x.ResCode)
x => x.GroupBy(y => y.TimingCode)
.ToDictionary(y => y.Key, y => y.Select(z => z.Code).ToList()));
public string ResCode { get; set; }
public string TimingCode { get; set; }
public string Code { get; set; }