Asp.net 删除列表项时出现问题
问题:Asp.net 删除列表项时出现问题,asp.net,c#-4.0,Asp.net,C# 4.0,问题: List List=新列表(); 列表。添加(“a”); 列表。添加(“b”); 列表。添加(“c”); foreach(列表中的变量项) { 如果(项目==“a”) { 列表。添加(“af”); } } 上面是我在尝试将项添加到列表时的代码,它给出异常“集合已修改;枚举操作可能无法执行”。有人能帮我解释一下为什么我会遇到这个异常。当你在列表上迭代时,你不能修改它。 但您可以创建另一个列表并对其进行操作: List<string> list = new List<st
List List=新列表();
列表。添加(“a”);
列表。添加(“b”);
列表。添加(“c”);
foreach(列表中的变量项)
{
如果(项目==“a”)
{
列表。添加(“af”);
}
}
上面是我在尝试将项添加到列表时的代码,它给出异常“集合已修改;枚举操作可能无法执行”。有人能帮我解释一下为什么我会遇到这个异常。当你在列表上迭代时,你不能修改它。
但您可以创建另一个列表并对其进行操作:
List<string> list = new List<string>();
list.Add("a");
list.Add("b");
list.Add("c");
foreach (var item in list)
{
if (item == "a")
{
list.Add("af");
}
}
List List=新列表();
列表。添加(“a”);
列表。添加(“b”);
列表。添加(“c”);
列表tmpList=新列表(列表);
foreach(列表中的变量项)
{
如果(项目==“a”)
{
tmpList.添加(“af”);
}
}
列表=tmpList;
您不能从foreach循环内部修改迭代的集合。这就是错误消息告诉您的。由于您使用的是一个列表,因此只需使用for
循环即可
List<string> list = new List<string>();
list.Add("a");
list.Add("b");
list.Add("c");
List<string> tmpList = new List<string>(list);
foreach (var item in list)
{
if (item == "a")
{
tmpList.Add("af");
}
}
list = tmpList;
for(int i=0;i
以下是解释您所看到的相关信息:
只要集合保持不变,枚举数就保持有效。如果对集合进行了更改,例如添加、修改或删除元素,则枚举数将不可恢复地无效,并且下一次调用MoveNext或Reset将引发InvalidOperationException
显示您的事件代码和aspx页面信息不足您的母版页中有哪个事件火?你遇到了哪些问题?仅凭这一点信息,你无法解决你的问题。请发布您的cs和aspx代码。我无法发布我的代码,因为这是我的公司安全政策。您不需要发布确切的代码。做一个简单的例子来说明这个问题。否则,很难猜出问题出在哪里。
for(int i = 0; i < list.Count; i++)
{
if (list[i] == "a")
{
list.Add("af");
}
}