Вставить пустую строку перед строкой файла с определенным номером - C#

Узнай цену своей работы

Формулировка задачи:

Дано целое число K и текстовый файл. Вставить пустую строку перед строкой файла с номером K. Если строки с таким номером нет, то оставить файл без изменений. Можно сделать это попроще?
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Threading.Tasks;
  5. using System.IO;
  6. using System.Text;
  7. namespace ConsoleApplication15
  8. {
  9. class Program
  10. {
  11. static void Main()
  12. {
  13. string path = @"C:\temp\111.txt";
  14. int ok = 0;
  15. int k = int.Parse(Console.ReadLine());
  16. int x = 0;
  17. int o = 0;
  18. using (StreamReader sr = new StreamReader(path, Sys-tem.Text.Encoding.Default))
  19. {
  20. string line;
  21. while ((line = sr.ReadLine()) != null)
  22. {
  23. x = x + 1;
  24. }
  25. sr.Close();
  26. }
  27. string[] a = new string[x + 1];
  28. using (StreamReader sr = new StreamReader(path, Sys-tem.Text.Encoding.Default))
  29. {
  30. string line;
  31. while ((line = sr.ReadLine()) != null)
  32. {
  33. a[o] = line;
  34. o = o + 1;
  35. }
  36. sr.Close();
  37. }
  38. if (o < k)
  39. {
  40. ok = 1;
  41. goto Label1;
  42. }
  43. for (int i = 0; i < k; i += 1)
  44. if (a[k] != null)
  45. {
  46. for (int h = a.Length - 1; h >= k; h -= 1)
  47. a[h] = a[h - 1];
  48. a[k - 1] = "";
  49. break;
  50. }
  51. using (StreamWriter sr = new StreamWriter(path, false, Sys-tem.Text.Encoding.Default))
  52. {
  53. for (int i = 0; i < a.Length; i += 1)
  54. sr.WriteLine(a[i]);
  55. sr.Close();
  56. }
  57. Label1: if (ok == 1) Console.WriteLine("Такой строки не суще-ствует");
  58. }
  59. }
  60. }

Решение задачи: «Вставить пустую строку перед строкой файла с определенным номером»

textual
Листинг программы
  1. var path = @"C:\temp\111.txt";
  2. var lines = File.ReadLines(path).ToList();
  3. int k = int.Parse(Console.ReadLine());
  4. if (k > 0 && k <= lines.Count)
  5.    lines.Insert(k - 1, Environment.Empty);
  6. File.WriteAllLines(path, lines);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.231 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы