C#在foreach循环中修改字符串数组并更改相同的数组
也许我问过这是一种糟糕的方式,所以让我试着解释一下 我有一个公共静态字符串[]C#在foreach循环中修改字符串数组并更改相同的数组,c#,C#,也许我问过这是一种糟糕的方式,所以让我试着解释一下 我有一个公共静态字符串[] public static string[] MyInfo {get;set;} 我通过 MyInfo = File.ReadAllLines(@"C:\myfile.txt"); 我想做的是在每一行上创建一个foreach,并根据x个规则对其进行修改。其中一行已被修改,更改MyInFo中的现有行 所以 不能在foreach循环中执行此操作。改用for。在foreach循环中不能执行此操作。使用表示。使用a表示:
public static string[] MyInfo {get;set;}
我通过
MyInfo = File.ReadAllLines(@"C:\myfile.txt");
我想做的是在每一行上创建一个foreach,并根据x个规则对其进行修改。其中一行已被修改,更改MyInFo中的现有行
所以
不能在
foreach
循环中执行此操作。改用for
。在foreach
循环中不能执行此操作。使用表示
。使用a表示:
for(int i = 0; i < MyInfo.Length; i++)
{
MyInfo[i] = formatLineHere(MyInfo[i]);
}
for(int i=0;i
将a用于:
for(int i = 0; i < MyInfo.Length; i++)
{
MyInfo[i] = formatLineHere(MyInfo[i]);
}
for(int i=0;i
var myInfoList=new List();
foreach(MyInfo中的var myI)
{
var modifiedLine=formatLineHere(myI);
myInfoList.Add(modifiedLine);
}
MyInfo=myInfoList.ToArray();
更新
为了使用ToList()和ToArray()扩展方法,您需要对System.Linq的引用。var myInfoList=new List();
foreach(MyInfo中的var myI)
{
var modifiedLine=formatLineHere(myI);
myInfoList.Add(modifiedLine);
}
MyInfo=myInfoList.ToArray();
更新
要使用ToList()和ToArray()扩展方法,您需要对System.Linq的引用。或使用Linq,您可以执行以下操作:
MyInfo = MyInfo.Select(x => formatLineHere(x)).ToArray();
或者使用Linq,您可以:
MyInfo = MyInfo.Select(x => formatLineHere(x)).ToArray();