public myclass<T>
泛型类中的<T>是表示如果是泛型必须用T还是可以用别的字符或类型,如int,假如是int,是啥意思?如果是指定了具体类型int,那还叫泛型干吗?顺便请解释一下下面这个结构:
public static List<T> Deserialize(string fileName, string ruleName){}
泛型类中的<T>是表示如果是泛型必须用T还是可以用别的字符或类型,如int,假如是int,是啥意思?如果是指定了具体类型int,那还叫泛型干吗?顺便请解释一下下面这个结构:
public static List<T> Deserialize(string fileName, string ruleName){}
上面的方法,也不太懂。菜鸟回答。
举例来说,List<T>提供给你int,string,double等多种数据类型的List,而不需要为每一种数据类型定义一次List类。在你的例子中,如果类是使用int来初始化T的话,则Deserialize返回的是List<int>,同理用string的话就是List<string>,这在对不同数据类型进行类似处理时可以大幅提升开发效率。
那你同一个List 元素有的是int有的是string 有的是long 有的是decimal...当然,List 的元素的可以 是一个List 那就可以有标记性的装载了 下面我封装一下:
你自己 可以拆了:
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);
泛型提供了一种编译前代码复用的一种手段。
class IntegerList : List<int> { } // 从泛型类继承。
class MyList<T> where T : SomeType { } // T 必须是 SomeType 或它的子类。(2)public static List<T> Deserialize(string fileName, string ruleName){}
从名字上看,是根据规则、文件名做反序列化,得到一个 List 列表。