var fs = new FileStream(name_f1, FileMode.Open, FileAccess.Read, FileShare.Read);
трудно конечно в реалии придумать, зачем такое использовать
Чтобы решить эту проблему и было принято решение использовать хак с утиной типизацией, и забить немного на принципы ООП в угоду производительности.
The foreach statement repeats a group of embedded statements for each element in an array or an object collection that implements the System.Collections.IEnumerable or System.Collections.Generic.IEnumerable interface. The foreach statement is used to iterate through the collection to get the information that you want, but can not be used to add or remove items from the source collection to avoid unpredictable side effects. If you need to add or remove items from the source collection, use a for loop.
protected void Button1_Click(object sender, EventArgs e)
{
int[] array = { 3, 2, 1 };
System.IO.File.AppendAllLines("file.txt", array.Select(elem => elem.ToString()));
}
protected void Button2_Click(object sender, EventArgs e)
{
int[] array = System.IO.File.ReadAllLines("file.txt").Select(line=> int.Parse(line)).ToArray();
}