我有一個班級名稱 Plott。屬性之一是帶有標題名稱的串列,稱為標題。該串列存盤圖中所有列的名稱。
我需要遍歷這些物件(串列中的 plt)并找到包含字串“aaa”的任何標題并將其替換為字串“bbb”。
我成功地回圈并在這些物件中找到了這些標題。我還可以定義一個用“bbb”替換“aaa”的新字串,但是當我嘗試將新字串(即串列的索引)分配給該物件時,它會給出一個錯誤,即集合已更改并且回圈不能繼續(錯誤資訊不是英文,所以我不會在這里發布)
foreach (Plott obj in plt) {
int c = 0;
foreach (String s in obj.Headers)
{
if (s.Contains("aaa"))
{
string newstr;
newstr = s.Replace("aaa", "bbb");
obj.Headers[c] = newstr;
}
c ;
}
}
uj5u.com熱心網友回復:
只需替換整個串列。
obj.Headers = obj.Headers.Select( x => x.Replace("aaa","bbb") ).ToList();
uj5u.com熱心網友回復:
您在 foreach 回圈中檢索的變數是集合中元素的只讀副本,因此您無法修改它。
如果你想這樣做,那么你需要使用一個簡單的 for 回圈
for (int ind = 0; ind < plt.Count(); ind )
{
....
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/310982.html
標籤:C#
