C#修改foreach循环中的字符串数组并更改相同的数组

时间:2011-12-11 14:18:13

标签: c#

也许我问这是一种不好的方式所以让我试着解释一下。

我有一个公共静态字符串[]

public static string[] MyInfo {get;set;}

我通过

设置了这个
MyInfo = File.ReadAllLines(@"C:\myfile.txt");

我想要做的是对每一行进行foreach并根据x条规则对其进行修改。一条线被修改后改变了MyInFo中的现有线

所以

foreach(string myI in MyInfo)
{
string modifiedLine = formatLineHere(myI);
//return this to MyInfo somehow.

}

4 个答案:

答案 0 :(得分:2)

您无法在foreach循环中执行此操作。请改用for

答案 1 :(得分:1)

使用for:

for(int i = 0; i < MyInfo.Length; i++)
{
   MyInfo[i] = formatLineHere(MyInfo[i]);       
}

答案 2 :(得分:1)

var myInfoList = new List<string>();
foreach (var myI in MyInfo)
{
    var modifiedLine = formatLineHere(myI);
    myInfoList.Add(modifiedLine);

}
MyInfo = myInfoList.ToArray();

<强>更新

您需要对System.Linq的引用才能使用ToList()和ToArray()扩展方法。

答案 3 :(得分:0)

或者你可以使用Linq:

MyInfo = MyInfo.Select(x => formatLineHere(x)).ToArray();