C# Properties.Settings.Default.myList.Add(项)不';不要添加我的项目
我想将列表框中的项目添加到Properties.Settings.Default中的列表中,但它根本不起作用。我使用从Microsoft.VisualBasic库添加的messagebox将项目添加到我的列表框,然后将输入添加到列表框:C# Properties.Settings.Default.myList.Add(项)不';不要添加我的项目,c#,C#,我想将列表框中的项目添加到Properties.Settings.Default中的列表中,但它根本不起作用。我使用从Microsoft.VisualBasic库添加的messagebox将项目添加到我的列表框,然后将输入添加到列表框: private void Button_additem_Click(object sender, EventArgs e) { string itemname = Interaction.InputBox("Item hinzufügen", "Gib
private void Button_additem_Click(object sender, EventArgs e)
{
string itemname = Interaction.InputBox("Item hinzufügen", "Gib unten den Namen des Items ein.", "");
if (itemname.Length > 0)
{
listbox_items.Items.Add(itemname);
}
else { }
Save();
Restore();
}
之后,我将使用Save()和Restore()空:
此错误与“System.NullReferenceException”“Planer.Properties.Settings.myList.get returned null”一起出现:
foreach (object item in listbox_items.Items)
{
Properties.Settings.Default.myList.Add(item); <---------
}
foreach(列表框中的对象项\u items.items)
{
Properties.Settings.Default.myList.Add(item);有一部分代码可以使此列表为空
if (Properties.Settings.Default.myList == null)
{ }
else { Properties.Settings.Default.myList.Clear();
如果该列表为空,则不能添加项目,否则为空
与空null表示不存在相同,您将需要创建一个新的,因为您只需要在else中添加列表,所以:
if(Properties.Settings.Default.myList==null)
{Properties.Settings.Default.myList=新列表等..}
第二个代码块中的if语句没有真正意义。您应该执行if(myList!=null).
而不是空的if和else中的代码。您还可以执行myList?.Clear()
仅当myList
不为空时才会执行methode。但如果要使用该运算符,则归结为首选项。此外,在第一个代码块中有一个空的else,可以完全删除。可能重复
if (Properties.Settings.Default.myList == null)
{ }
else { Properties.Settings.Default.myList.Clear();
if (Properties.Settings.Default.myList == null)
{Properties.Settings.Default.myList = new List<?> etc... }