2010-09-16 74 views

回答

4

你可以遍歷數組隱含

arrayOfStrings = arrayOfStrings.Select(s => s.Replace("abc", "xyz")).ToArray(); 
+0

我試過使用foreach,我可以使用它嗎?可以使它工作到目前爲止雖然... – grady 2010-09-16 07:48:20

+0

嚴格地說,這不會取代數組中的元素,它會創建一個新的數組,並將替換的元素放入其中。這會使我區別如果原始arrayOfStrings被其他地方引用,就像arrayOfStrings是一個in方法中的參數。 – 2010-09-16 07:53:56

+0

@grady你不能使用foreach(var in arrayOfStrings){s = s.Replace(「foo」,「bar」); }因爲你不允許修改foreach變量。 – 2010-09-16 07:57:19

6

歸根結底,任何你要做的就是要做到準確反正。簡單的for循環應該沒問題。有涉及lambda表達式漂亮的解決方案,如Array.ConvertAll/Enumerable.Select,但TBH沒有必要:

for(int i = 0 ; i < arr.Length ; i++) arr[i] = arr[i].Replace("foo","bar"); 

(該for河套地區有陣列最有效的處理;而foreach是不是由於一個選項以突變迭代變量)

+0

是的,做最簡單的事情 - 你不會那樣出錯 – 2010-09-16 08:16:47