在C#中如何创建一个默认计数为零的List <T>?

qua*_*els 2 c#

菜鸟问题:

我在mvc2应用程序中遇到了一个小错误.我能够追溯到这段代码:

List<Stream2FieldTypes> Stream2FieldTypes = new List<Stream2FieldTypes>();
foreach (var item in stream.Stream2FieldTypes) 
{ 
   Stream2FieldTypes.Add(item); 
}
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是,当我实例化新列表时,它的计数为1.我想这可能是因为我使用了构造函数.所以我尝试了这个:

List<Stream2FieldTypes> Stream2FieldTypes;
foreach (var item in stream.Stream2FieldTypes) 
{ 
   Stream2FieldTypes.Add(item); 
}
Run Code Online (Sandbox Code Playgroud)

但是,当然由于错误而无法编译Stream2FieldTypes.Add(item);.有没有办法可以创建List<Stream2FieldTypes>并确保计数为零?

Dar*_*rov 14

我遇到的问题是,当我实例化新列表时,它的长度为1

不,那是完全不可能的.您的问题在其他地方,与新实例化列表的元素数量无关.

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

Stream2FieldTypes.Count在这一点上,无论你做什么都会为0(假设当然是单线程顺序访问但List<T>不是线程安全的,所以这是一个安全的假设:-)).