c#-集合已修改;可能無法執行枚舉操作

來源:互聯網
上載者:User

標籤:

今天我用foreach語句去迭代Dictionary的時候,發現報錯:

集合已修改;可能無法執行枚舉操作

網上搜了一下,發現foreach在迭代的時候,foreach在迭代過程,不可以增加和刪除.但是,我實驗了,發現還有一個問題:在進行值比較並修正的時候,也會報錯,如:

 1 foreach (KeyValuePair<string, double> soilStrKV in soil) 2             { 3                 if (isValidVal(soilStrKV.Value)) 4                 { 5                     soil[soilStrKV.Key] = replaceInvalidVal; 6                     //siteNumStr = soilStrKV.Key.Substring(0, soilStrKV.Key.IndexOf(‘_‘)); 7                     //yearStr  8                     //siteSoil.Add(); 9                 }10             }11 12 /// <summary>13         /// false表示不符合的值,否則符合.14         /// </summary>15         /// <param name="inVal"></param>16         /// <returns></returns>17         private bool isValidVal(double inVal)18         {19             return inVal <= available_val;20         }

在第5行,會報錯(重複值修改時候).

c#-集合已修改;可能無法執行枚舉操作

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.