В чем тут ошибка? Пишет нажать на клавишу и ничего - C#
Формулировка задачи:
Дано целое число K и текстовый файл. Вставить пустую строку перед строкой файла с номером K. Если строки с таким номером нет, то оставить файл без изменений.
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication23
{
class Program
{
static void Main(string[] args)
{
int K = 5;
string myFile = @"путь к файлу";
string[] strings = new string[0];
if (File.Exists(myFile))
strings = File.ReadAllLines(myFile);
for (int i = 0; i < strings.Length; i++)
if (strings[i].Substring(0, 2) != " ")
if (Convert.ToInt16(strings[i].Substring(0, 2)) == K)
strings[i] = strings[i].Replace(strings[i], " " + strings[i]);
File.WriteAllLines(myFile, strings);
}
}
}Решение задачи: «В чем тут ошибка? Пишет нажать на клавишу и ничего»
textual
Листинг программы
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("Такой строки не суще-ствует");
}
}
}