比如说我不知道具体用什么类型做为LsitT类型参数是String
如果参数传来“User” 怎么实现List<User> datalist=new List<User> 呢
5 个解决方案
#1
T 只是代码书写时的代词,运行时早已被编译器替换成了真实的类型
书写成 List<T> datalist=new List<T>(); 就可以了,并不需要管 T 是张三还是李四
书写成 List<T> datalist=new List<T>(); 就可以了,并不需要管 T 是张三还是李四
#2
谢谢提示,是我走死胡同了
#3
编程要按照接口(这里接口的概念包括Class对外接口,而不仅仅指 interface)来设计。如果你不知道具体类型,那么就是使用 IList。怎么可能使用泛型来实现任何东西呢?
泛型是给使用者用的。而你做一个创作者,必须知道具体的类型。
泛型是给使用者用的。而你做一个创作者,必须知道具体的类型。
#4
泛型是一个模板,运行时展开生成成为具体代码让 Jit 编译器去编译成最重代码。所以空洞地编程就容易造成运行时才悲催地崩溃、而在开发时看不出来。
所以泛型就好像是高利贷一样,只是让一部分在花钱时没有痛苦感,而还钱时可能痛苦异常。所以使用泛型在图方便的时候,你要知道自己的编程责任,要明知道参数的接口规范、约束之并且写道代码上,不要滥用泛型。
所以泛型就好像是高利贷一样,只是让一部分在花钱时没有痛苦感,而还钱时可能痛苦异常。所以使用泛型在图方便的时候,你要知道自己的编程责任,要明知道参数的接口规范、约束之并且写道代码上,不要滥用泛型。
#5
T的意思是你可以用来替换成任何类型的
#1
T 只是代码书写时的代词,运行时早已被编译器替换成了真实的类型
书写成 List<T> datalist=new List<T>(); 就可以了,并不需要管 T 是张三还是李四
书写成 List<T> datalist=new List<T>(); 就可以了,并不需要管 T 是张三还是李四
#2
谢谢提示,是我走死胡同了
#3
编程要按照接口(这里接口的概念包括Class对外接口,而不仅仅指 interface)来设计。如果你不知道具体类型,那么就是使用 IList。怎么可能使用泛型来实现任何东西呢?
泛型是给使用者用的。而你做一个创作者,必须知道具体的类型。
泛型是给使用者用的。而你做一个创作者,必须知道具体的类型。
#4
泛型是一个模板,运行时展开生成成为具体代码让 Jit 编译器去编译成最重代码。所以空洞地编程就容易造成运行时才悲催地崩溃、而在开发时看不出来。
所以泛型就好像是高利贷一样,只是让一部分在花钱时没有痛苦感,而还钱时可能痛苦异常。所以使用泛型在图方便的时候,你要知道自己的编程责任,要明知道参数的接口规范、约束之并且写道代码上,不要滥用泛型。
所以泛型就好像是高利贷一样,只是让一部分在花钱时没有痛苦感,而还钱时可能痛苦异常。所以使用泛型在图方便的时候,你要知道自己的编程责任,要明知道参数的接口规范、约束之并且写道代码上,不要滥用泛型。
#5
T的意思是你可以用来替换成任何类型的