检查字符串是否为null时出现Null Exception错误?

时间:2013-10-05 06:33:26

标签: c# .net textbox split

当我运行我的代码时,我在文本框的不同行上放了几个字符串,但它打破说“Items.Add(item)”上有一个Null Exception Error我不知道为什么我会得到 此错误,因为在visual studio中,变量项中的字符串不包含它 返回字符,所以我不确定这是否是一个问题..例如item =“uno \ r \ n”。此外,Items是一个字符串列表。有谁知道为什么我一直得到这个Null Exception?

    public List<string> Items;        


    public void getItemsFromTextBox(TextBox textbox)
    {
        string[] lines = textbox.Text.Split('\n');
        foreach (string item in lines)
        {
            if (!String.IsNullOrWhiteSpace(item))
                Items.Add(item);
        }
    }

5 个答案:

答案 0 :(得分:6)

你还没有初始化你的清单,它是空的!添加

public List<String> Items = new List<String>();

答案 1 :(得分:1)

您必须创建Items list的实例:

public void getItemsFromTextBox(TextBox textbox)
{
    Items = new List<string>();
    string[] lines = textbox.Text.Split('\n');
    foreach (string item in lines)
    {
        if (!String.IsNullOrWhiteSpace(item))
            Items.Add(item);
    }
}

答案 2 :(得分:1)

尝试使用以下代码。我猜你的Items列表是全局列表和shared列表。所以最好检查List是否已初始化,如果没有则先初始化并执行其余操作

    public List<string> Items;        

    public void getItemsFromTextBox(TextBox textbox)
    {
        if(null == Items)
        {
          Items = new List<string>();
        }
        foreach (string item in textbox.Text.Split('\n'))
        {
            if (!String.IsNullOrWhiteSpace(item))
                Items.Add(item);
        }
    }

答案 3 :(得分:1)

您必须创建列表项的实例。

使用

public List<String> Items = new List<String>();

或使用以下代码

public void getItemsFromTextBox(TextBox textbox)
{
    List<string> Items = !string.IsNullOrWhiteSpace(textbox.Text) ? textbox.Text.Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries).ToList() : new List<string>();
}

答案 4 :(得分:0)

确保您已实例化“项目”。