我可以在C#中使用固定类型的ArrayList,就像C++一样吗?

Kaz*_*oom 4 c# arraylist

我有一个ArrayList包含固定类型的对象.但是每当我需要提取一个特定索引的对象时,我需要将它从对象类型强制转换为我的用户定义类型.

在C#中是否有一种方法ArrayList可以像Java和C++一样声明固定类型,或者是否有办法避免每次都进行类型转换?

编辑:

我道歉,我忘了提到我要求数据结构是线程安全的,但事实List并非如此.否则我会使用正常的Array.但是我希望在编写数组时避免显式锁定和解锁的努力.

所以我想使用ArrayList,同步它,但它每次都需要进行类型转换.

Cor*_*old 6

你可以使用List.List类利用泛型来创建强类型集合.

要使用,只需调用新列表<您要使用的类型>(),如下所示:

List<string> myStringList = new List<string>();
Run Code Online (Sandbox Code Playgroud)

MSDN有一些快速文章介绍了一些可以使集合线程安全的方法.


Bry*_*ews 4

看一下 System.Collections.Generic.List

http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx