0

Maybe I asked this is a bad way so let me try to explain.

I have a public static string[]

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

I set this via

MyInfo = File.ReadAllLines(@"C:\myfile.txt");

What I want to do is a foreach on each of those lines and modify it based on x number of rules. One the line has been modified change that exisiting line in MyInFo

so

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

}

4 Answers 4

2

You can't do this in a foreach loop. Use for instead.

Sign up to request clarification or add additional context in comments.

Comments

1

Use a for:

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

Comments

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

}
MyInfo = myInfoList.ToArray();

Update

You will need a reference to System.Linq in order to use the ToList() and ToArray() extension methods.

Comments

0

Or with Linq you could do:

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

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.