_ C#ジェネリックの確認 別に確認するまでもないが、.NETのGenericsがシンタックスシュガーではないことを確認してみた(追記:つい<T>をそのまま書いてブラウザーに食われていたので修正)。 public static void Main() { List<int> lg = new List<int>(); lg.Add(4); System.Collections.ArrayList lo = new System.Collections.ArrayList(); lo.Add(4); System.Console.WriteLine(lg[0] + (int)lo[0]); } 単なるシンタックスシュガーであれば、lgとloに対して生成されるILは同一になる。しかし、実際には異なる。 IL_0001: newobj instance void class [mscorlib]