Can anyone explain me the exact difference between C# generics and Java generics and C++ templates,I want to know what exactly happens internally while storing this Generic type and How c# generics are more efficient then any of Java generics and c++ templates ????