Там нет гарантии , что folderLoc
имеет как минимум 12
предметов
for (int i = 0; i < 12; i++) {...}
Вы можете поставить это так (примечание folderLoc.Length
вместо из 12
):
string[] folderLoc = File.ReadAllLines(@"E:\folder\numbers.txt");
// If you want at most 12 items to be changed put the condition as
// i < Math.Max(12, folderLoc.Length)
for (int i = 0; i < folderLoc.Length; i++)
{
folderLoc[i] = $"{i} {folderLoc[i]}"; //TODO: Apply the correct format here
}
Или даже (без явных циклов, но Linq запрос)
using System.Linq;
...
string[] folderLoc = File
.ReadLines(@"E:\folder\numbers.txt")
.Select((value, index) => $"{index} {value}")
.ToArray();
Если вы хотите изменить top 12
строки только , Select
должно быть
...
.Select((value, index) => index < 12 ? $"{index} {value}" : value)
...
Наконец, если вы хотите просто записать 0..11
чисел в файл
File.WriteAllLines(@"E:\folder\numbers.txt", Enumerable.Range(0, 12));