Вставить пустую строку перед строкой файла с определенным номером - C#
Формулировка задачи:
Дано целое число K и текстовый файл. Вставить пустую строку перед строкой файла с номером K. Если строки с таким номером нет, то оставить файл без изменений.
Можно сделать это попроще?
using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.IO; using System.Text; namespace ConsoleApplication15 { class Program { static void Main() { string path = @"C:\temp\111.txt"; int ok = 0; int k = int.Parse(Console.ReadLine()); int x = 0; int o = 0; using (StreamReader sr = new StreamReader(path, Sys-tem.Text.Encoding.Default)) { string line; while ((line = sr.ReadLine()) != null) { x = x + 1; } sr.Close(); } string[] a = new string[x + 1]; using (StreamReader sr = new StreamReader(path, Sys-tem.Text.Encoding.Default)) { string line; while ((line = sr.ReadLine()) != null) { a[o] = line; o = o + 1; } sr.Close(); } if (o < k) { ok = 1; goto Label1; } for (int i = 0; i < k; i += 1) if (a[k] != null) { for (int h = a.Length - 1; h >= k; h -= 1) a[h] = a[h - 1]; a[k - 1] = ""; break; } using (StreamWriter sr = new StreamWriter(path, false, Sys-tem.Text.Encoding.Default)) { for (int i = 0; i < a.Length; i += 1) sr.WriteLine(a[i]); sr.Close(); } Label1: if (ok == 1) Console.WriteLine("Такой строки не суще-ствует"); } } }
Решение задачи: «Вставить пустую строку перед строкой файла с определенным номером»
textual
Листинг программы
var path = @"C:\temp\111.txt"; var lines = File.ReadLines(path).ToList(); int k = int.Parse(Console.ReadLine()); if (k > 0 && k <= lines.Count) lines.Insert(k - 1, Environment.Empty); File.WriteAllLines(path, lines);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д