也许我问这是一种不好的方式所以让我试着解释一下。
我有一个公共静态字符串[]
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.
}
答案 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();