gpt4 book ai didi

c# - 从字符串列表中添加和删除项目,仅在项目不存在时添加

转载 作者:太空宇宙 更新时间:2023-11-03 15:57:33 26 4
gpt4 key购买 nike

我试图从复选框列表中获取选定的项目,并在单击按钮时将它们添加到列表框中。我能够通过使用以下方法实现这一点:

protected void AddSelectedField(object sender, EventArgs e)
{
foreach (ListItem column in ColumnsList.Items)
{
if (column.Selected)
{
SelectedColumns.Add(column.Text);
}
}

foreach (String column in SelectedColumns)
{
SelectedFieldsList.Items.Add(column);
}
}

但是,这样做的问题是用户仍然可以在回发发生后添加他们已经选择的相同项目。我尝试了以下操作,但这甚至不再将所选项目添加到列表框中:

protected void AddSelectedField(object sender, EventArgs e)
{
foreach (ListItem column in ColumnsList.Items)
{
if (column.Selected)
{
foreach (String item in SelectedColumns)
{
if (item != column.Text || SelectedColumns != null)
{
SelectedColumns.Add(column.Text);
}
}
}
}

foreach (String column in SelectedColumns)
{
SelectedFieldsList.Items.Add(column);
}
}

或者,我还需要添加允许用户通过循环访问列表框中的选定项目来从列表中删除项目的功能。我试过这个:

protected void RemoveSelectedField(object sender, EventArgs e)
{
foreach (ListItem field in SelectedFieldsList.Items)
{
if (field.Selected)
{
SelectedColumns.Remove(item);
}
}

foreach (String field in SelectedColumns)
{
SelectedFieldsList.Items.Add(field);
}
}

还有:

protected void RemoveSelectedField(object sender, EventArgs e)
{
foreach (ListItem field in SelectedFieldsList.Items)
{
if (field.Selected)
{
foreach (String item in SelectedColumns)
{
if (item == field.Text)
{
SelectedColumns.Remove(item);
}
}
}
}

foreach (String field in SelectedColumns)
{
SelectedFieldsList.Items.Add(field);
}
}

这些都没有从列表框 m 中删除选定的项目(我假设字符串列表也是如此)。关于检查正在添加的项目是否已经存在,我也尝试过:

protected void AddSelectedField(object sender, EventArgs e)
{
foreach (ListItem column in ColumnsList.Items)
{
if (column.Selected && !SelectedColumns.Contains(column.Text))
{
SelectedColumns.Add(column.Text);
}
}

foreach (String column in SelectedColumns)
{
SelectedFieldsList.Items.Add(column);
}
}

就好像它忽略了 if 语句的第二部分,该语句检查列表是否包含当前列表项的文本。

最佳答案

如果 SelectedColumns 是一个列表,为什么不使用 Contains() 方法?

    if (column.Selected && !SelectedColumns.Contains(column.Text))
{
SelectedColumns.Add(column.Text);
}

关于c# - 从字符串列表中添加和删除项目,仅在项目不存在时添加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22923975/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com