Вставить строку в рандомное место в файл на c#

impul5e

Client
Регистрация
15.08.2017
Сообщения
198
Благодарностей
40
Баллы
28
Друзья, подскажите, как на c# вставить строку в рандомное место, допустим в строку под номером от 0 до 2. Желательно, без использования списка. Заранее благодарю за ответ.
 

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 385
Баллы
113
При вставке строки куда-нибудь в середину списка не использовать список невозможно, другое дело, что он может быть динамическим. Примерно так будет выглядеть код:
C#:
string path = @"W:\text.txt";//путь к файлу
List<string> file = File.ReadAllLines(path).ToList();//считаем файл в список
int insert = 5;//задаем максимальное значение рандома
string value = "value";//строка, которая будет добавлена
insert = insert > file.Count ? file.Count : insert;//обработаем внезапное исключение, когда в файле меньше строк, чем заданный диапазон
file.Insert(new Random().Next(insert), value);//вставим строку
File.WriteAllLines(path, file);//перепишем файл
 

impul5e

Client
Регистрация
15.08.2017
Сообщения
198
Благодарностей
40
Баллы
28
При вставке строки куда-нибудь в середину списка не использовать список невозможно, другое дело, что он может быть динамическим. Примерно так будет выглядеть код:
C#:
string path = @"W:\text.txt";//путь к файлу
List<string> file = File.ReadAllLines(path).ToList();//считаем файл в список
int insert = 5;//задаем максимальное значение рандома
string value = "value";//строка, которая будет добавлена
insert = insert > file.Count ? file.Count : insert;//обработаем внезапное исключение, когда в файле меньше строк, чем заданный диапазон
file.Insert(new Random().Next(insert), value);//вставим строку
File.WriteAllLines(path, file);//перепишем файл
А если мне нужно указать диапазон, например с 3 по 5 строку?
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 328
Благодарностей
5 431
Баллы
113
  • Спасибо
Реакции: impul5e

impul5e

Client
Регистрация
15.08.2017
Сообщения
198
Благодарностей
40
Баллы
28
Разобрался, спасибо за помощь!
C#:
string path = @"W:\text.txt";//путь к файлу
List<string> file = File.ReadAllLines(path).ToList();//считаем файл в список
int ins = 2;//задаем минимальное значение рандома
int insert = 5;//задаем максимальное значение рандома
string value = "value";//строка, которая будет добавлена
insert = insert > file.Count ? file.Count : insert;//обработаем внезапное исключение, когда в файле меньше строк, чем заданный диапазон
file.Insert(new Random().Next(ins,insert), value);//вставим строку
File.WriteAllLines(path, file);//перепишем файл
 
  • Спасибо
Реакции: Alexmd

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)