什么是仿制药,其用途和应用?

时间:2011-02-25 09:12:39

标签: c# generics

  

可能重复:
  What is generics in C#?

泛型的用途是什么,什么时候可以使用?

3 个答案:

答案 0 :(得分:1)

MSDN上有一个introduction to generics

使用泛型的最简单的例子之一是List<T>。这意味着,如果你想在你的程序中拥有一些东西,比如字符串,你有很多选择:

String[] anArrayOfStrings;
System.Collections.ArrayList anArrayListOfObject;
List<string> aListOfStrings;

轮流拍摄; anArrayOfStrings是一个字符串数组。这意味着您无法添加或删除它。如果您有固定数量的项目,那就没问题了。 anArrayListOfObject是.net 1.0“集合”,其缺点是,当它接受object时,您可以在其中放置任何内容,而不仅仅是字符串。

最终选项aListOfStrings强类型,因为编译器会抱怨任何试图放入不是字符串的代码。它使您的代码更加健壮,可读(您不必编写大量代码以确保您放入/删除的内容是一个字符串)并且灵活。

答案 1 :(得分:1)

泛型用于创建“类型安全”集合,如列表,映射等。这意味着我们只能向集合添加已知/预期类型,以避免在一个集合中存储不同的数据。例如

//without generics
ArrayList list = new ArrayList();
list.add(new Object());
list.add(new Interger());
list.add(new String());

//with generics 
ArrayList<String> list = new ArrayList<String>();
list.add(new Object()); //compile time error
list.add(new Interger()); //compile time error
list.add(new String()); //ok string its expected

正如您从上面所看到的,已经引入了泛型来创建类型安全集合,以便我们在运行时不会从集合中获得一些意外类型的对象。

除了集合之外,我们还可以将泛型应用于方法和类

答案 2 :(得分:0)

尝试阅读C# in Depth。你会在那里找到关于泛型的很好的解释。