gpt4 book ai didi

c# - 从IEnumerable移除项目

转载 作者:太空宇宙 更新时间:2023-11-03 17:42:30 27 4
gpt4 key购买 nike

我从复选框列表中选择的项目具有字符串类型的IEnumerable,如下所示:

var list1 = chkboxlist.Items.Cast<ListItem>().Where(item => item.Selected == true).Select(item => item.Value);

if (list1.Contains("4"))
{
//then remove that item from the list like

for (int i = list1.Count() - 1; i >= 0; i--)
{
if (list1.ElementAt(i) == "4") list1.ToList().RemoveAt(i);
}
}


但是项目仍然存在于该列表中。它没有被删除。

最佳答案

您正在调用ToList(),这会创建一个新列表,该列表是序列的副本,然后将其从该列表中删除...但是您基本上是在丢弃该列表。

您应该将原始序列转换为列表,然后删除不需要的值...或者您可以仅使用Except开头:

var list1 = chkboxlist.Items
.Cast<ListItem>()
.Where(item => item.Selected)
.Select(item => item.Value)
.Except(new[] { "4" });

关于c# - 从IEnumerable移除项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15749889/

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