当我运行我的代码时,我在文本框的不同行上放了几个字符串,但它打破说“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);
}
}
答案 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)
确保您已实例化“项目”。