C# 修改 foreach 循环中的字符串数组并更改相同的数组
本文关键字:数组 字符串 修改 foreach 循环 | 更新日期: 2023-09-27 18:17:25
也许我问这是一个不好的方式,所以让我试着解释一下。
我有一个公共静态字符串[]
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.
}
你不能在foreach
循环中执行此操作。请改用for
。
使用 for :
for(int i = 0; i < MyInfo.Length; i++)
{
MyInfo[i] = formatLineHere(MyInfo[i]);
}
var myInfoList = new List<string>();
foreach (var myI in MyInfo)
{
var modifiedLine = formatLineHere(myI);
myInfoList.Add(modifiedLine);
}
MyInfo = myInfoList.ToArray();
更新
您需要引用 System.Linq 才能使用 ToList(( 和 ToArray(( 扩展方法。
或者使用 Linq,您可以执行以下操作:
MyInfo = MyInfo.Select(x => formatLineHere(x)).ToArray();