C# 中的泛型
public myclass<T>
泛型类中的<T>是表示如果是泛型必须用T还是可以用别的字符或类型,如int,假如是int,是啥意思?如果是指定了具体类型int,那还叫泛型干吗?
顺便请解释一下下面这个结构:
public static List<T> Deserialize(string fileName, string ruleName){}
[解决办法]
不必是T的,可以用其他字符代替,当然不能是特殊的标识符,比如INT.
上面的方法,也不太懂。菜鸟回答。
[解决办法]
举例来说,List<T>提供给你int,string,double等多种数据类型的List,而不需要为每一种数据类型定义一次List类。
在你的例子中,如果类是使用int来初始化T的话,则Deserialize返回的是List<int>,同理用string的话就是List<string>,这在对不同数据类型进行类似处理时可以大幅提升开发效率。
[解决办法]
随便什么字符都可以,只要不是标识符,当然也必须符合变量命名规则
解释的话看英文好像是反序列化文件成List<T>
[解决办法]
可以把int 改成object 那就更像了。
那你同一个List 元素有的是int有的是string 有的是long 有的是decimal...
当然,List 的元素的可以 是一个List 那就可以有标记性的装载了
下面我封装一下:
你自己 可以拆了:
- C# code
List<object> l = new List<object>();object[] node1 = new object[2]{ "int", 10 };object[] node2 = new object[2] {"string", "今天天气太好了" };l.Add(node1);l.Add(node2);
[解决办法]
用这个方式,可以对付xml 格式的数据!
[解决办法]
这样说吧,如果没有泛型,你就需要写IntList,StringList,DoubleList,UserList
泛型提供了一种编译前代码复用的一种手段。
[解决办法]
没有具体的限制,除了语言的保留字,空间名,或者API类名,都可以
[解决办法]
(1)不能使用具体类型,否则就不是泛型了。
你可以这么用:
class IntegerList : List<int> { } // 从泛型类继承。
class MyList<T> where T : SomeType { } // T 必须是 SomeType 或它的子类。
(2)public static List<T> Deserialize(string fileName, string ruleName){}
从名字上看,是根据规则、文件名做反序列化,得到一个 List 列表。