指定ArrayList元素的类型

时间:2008-09-27 21:59:14

标签: c# .net generics

我认为在.net 3.0中有一些方法可以为数组列表提供一个类型,这样它就不会只返回Object,但是我很难这样做。可能吗?如果是这样,怎么样?

3 个答案:

答案 0 :(得分:14)

List<T>在.NET 2.0中引入了泛型:

using System.Collections.Generic;

var list = new List<int>();
list.Add(1);
list.Add("string"); //compile-time error!
int i = list[0];

答案 1 :(得分:3)

您可能正在查找自.NET 2.0以来可用的List <T>,或者可以查找System.Collections.Generic或System.Collections.ComponentModel中提供的任何其他泛型类型。

答案 2 :(得分:-1)

如果必须使用ArrayList并且无法开始使用List,并且您知道该ArrayList中每个元素的类型,您可以这样做:

  string[] stringArray = myArrayList.ToArray(typeof(string)) as string[];

如果myArrayList中的某些内容不是字符串,在这种情况下,您将获得InvalidCastException。

如果可以的话,我会开始使用List作为OregonGhost提到的。