当使用泛型在集合中使用对象时,.Net是否进行了类型转换?

Rav*_*sha 0 c# compiler-construction generics unboxing

.net CLR是否将对象转换为集合声明中提到的对象?如果我宣布一个

List<string> lststrs= new List<string>();
lststrs.add("ssdfsf");
Run Code Online (Sandbox Code Playgroud)

.net在添加和重新启动时强制转换此对象?????

我认为每个人都不清楚这个问题本身.让我详细说明.在java中有泛型,但如果您反编译代码,您会注意到,编译器在使用Collection对象的任何地方都进行了类型转换.对于Ex:List listOfStrings; listOfStrings.add( ""); String value = listOfStrings.get(1); 反编译类文件后,我们看到这个List listOfStrings; listOfStrings.add( ""); String value =(String)listOfStrings.get(1); 这里编译器已经完成了字符串的类型转换.

现在我的问题是它在.Net中是否相同?

Dav*_*und 5

不,你的列表在这里强烈输入字符串.这是使用泛型的全部优势.