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.
}

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

你不能在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();