LF521521521 2022-11-05 18:10 采纳率: 25%
浏览 23
已结题

C#中foreach为什么是只读的

比如这么一段代码
Public Dictionary<string,list> dic;
Foreach(var key in dic.keys)
{
Dic.remove(key);
}
是会报错的,因为foreach是只读的。
请问为什么会报错呢,希望可以得到具体解答。

  • 写回答

2条回答 默认 最新

  • 带酒书生 2022-11-07 09:27
    关注

    foreach逻辑里不能对目标进行修改操作,当你使用foreach时,是通过迭代器对目标内容进行访问的,是一个连贯的迭代读取过程,因此不允许修改迭代内容。

    本回答被专家选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月16日
  • 专家已采纳回答 11月8日
  • 创建了问题 11月5日

悬赏问题

  • ¥15 TeleScan不能修改bar
  • ¥100 请问我基于逐飞库写的这个有关于mp u6050传感器的函数,为什么输出的值是固定的?
  • ¥15 hadoop中启动hive报错如下怎么解决
  • ¥15 如何优化QWebEngineView 加载url的速度
  • ¥15 关于#hadoop#的问题,请各位专家解答!
  • ¥15 如何批量抓取网站信息
  • ¥15 Spring Boot离线人脸识别
  • ¥15 使用Ant Design Pro vue的时候,使用环境变量的时候,构建报错是什么原因
  • ¥15 NRF24L01能发送但是不能接收
  • ¥15 想问一下这种情况怎么解决呢(关键词-file)