迭代通用列表时出现NullReferenceException

时间:2014-10-27 13:37:04

标签: c# list foreach nullreferenceexception

我读了很多关于泛型列表和NullReferenceExceptions的原因,但在我的情况下看起来我已经做好了一切,但仍然得到了着名的错误。

我在类的顶部初始化一个通用List:

List<CustomType> customTypes = new List<CustomType>();

然后我将一些项添加到列表中,当然我调试计数和名称以确保没有空条目。如果不进一步触摸列表,我称之为:

string newString = GetString("some string", customTypes);

它的结构如下:

public string GetString(string value, List<CustomType> cTypes)
{
    // in my case I add two items to the customTypes list, when the form is loaded
    Console.WriteLine(customTypes.Count); // output: 2
    Console.WriteLine(cTypes.Count); // output: 2

    foreach(CustomType ct in cTypes)
    {
        // All I do within this foreach is just debugging
        Console.WriteLine("Current item: " + ct.ToString()); // NullReferenceException ct seems to be null
    }
    return value;
}

我不知道为什么会抛出错误。有什么想法吗?

编辑:实际上,foreach循环中的第一件事是:Console.WriteLine("Current item: " + ct.ToString()) //抛出错误并告诉我ct为null,但这怎么可能呢?控制台告诉我两个列表中都有项目?!

0 个答案:

没有答案