C# 列表框副本

C# 列表框副本,c#,asp.net,button,textbox,listbox,C#,Asp.net,Button,Textbox,Listbox,我的列表框有问题。 如果我有一个文本框和一个添加按钮,将数据放入列表框。 意外地输入了相同的名称两次。 如何防止列表框中的重复项? 我是在按钮部分还是在列表框下输入代码 在您的按钮单击中,您可以有如下内容: if (this.listBox.Items.Contains(this.txtCustomerName.Text) == false) { this.listBox.Items.Add(this.txtCustomerName.Text); } 或者,如果您使用的是

我的列表框有问题。 如果我有一个文本框和一个添加按钮,将数据放入列表框。 意外地输入了相同的名称两次。 如何防止列表框中的重复项?
我是在按钮部分还是在列表框下输入代码

在您的按钮单击中,您可以有如下内容:

  if (this.listBox.Items.Contains(this.txtCustomerName.Text) == false)
  {
     this.listBox.Items.Add(this.txtCustomerName.Text);
  }
或者,如果您使用的是ListItems:

ListItem item = new ListItem(this.txtCustomerName.Text);

if (listBox.Items.Contains(item) == false)
{
   listBox.Items.Add(item);
}

在您的按钮单击中,您可以有如下内容:

  if (this.listBox.Items.Contains(this.txtCustomerName.Text) == false)
  {
     this.listBox.Items.Add(this.txtCustomerName.Text);
  }
或者,如果您使用的是ListItems:

ListItem item = new ListItem(this.txtCustomerName.Text);

if (listBox.Items.Contains(item) == false)
{
   listBox.Items.Add(item);
}

在按钮中添加代码,您甚至可以将代码添加到文本框的实时事件检查中,以确保输入的文本正确。

在按钮中添加代码,您甚至可以将代码添加到文本框的实时事件检查中,以确保输入的文本正确。

您只需在添加之前检查它是否已经存在,例如,使用Linq:

bool contains = lbName.Items.Cast<ListItem>()
    .Any(li => li.Text.Equals(txtName.Text, StringComparison.OrdinalIgnoreCase));
if(!contains)
{
    lbName.Items.Add(new ListItem(txtName.Text));
}

您只需在添加之前检查它是否已经存在,例如,使用Linq:

bool contains = lbName.Items.Cast<ListItem>()
    .Any(li => li.Text.Equals(txtName.Text, StringComparison.OrdinalIgnoreCase));
if(!contains)
{
    lbName.Items.Add(new ListItem(txtName.Text));
}

你能发一些代码吗?你已经试过什么了?@MartinMcGirk:post!你能发一些代码吗?你已经试过什么了?@MartinMcGirk:post!如果这个文本框原来是文件浏览器的目录,它将文件名添加到列表框中,但如果再次按下,文件名将被重新添加,会发生什么情况?@KevinChun:恐怕我听不懂。代码可以处理任何字符串,源代码并不重要。或者您想添加文件的完整路径,但不想添加具有相同文件名的第二个文件?如果此文本框原来是文件浏览器的目录,将文件名添加到列表框中,但如果再次按下,则会重新添加文件名,会发生什么情况?@KevinChun:恐怕我无法理解。代码可以处理任何字符串,源代码并不重要。或者,是否要将完整路径添加到文件,但要防止添加具有相同文件名的第二个文件?假设用什么替换TXTSCustomerName?假设用什么替换TXTSCustomerName??