Как исправить ошибку? - C#
Формулировка задачи:
Сама задача найти абонента по указанной улице.
В файле SomeData.txt в каждой строке информация о 1-ом человеке(Номер телефона, фамилия, имя, отчество, улица)
Если у человека нет отчества, то появляется ошибка в qw[4]==adres, потому что улица уходит в 3 столбец, что делать?
struct person
{
public string adres;
public void per()
{
Console.WriteLine("adres is {0}", adres);
}
}
class pp
{
public const string path = "SomeData.txt";
class Program
{
static void Main(string[] args)
{
try
{
int lenght = 0;
foreach (string lines in File.ReadLines(pp.path, Encoding.UTF8)) //перебор строк файла, вывод их в консоль
{
Console.WriteLine(lines);
lenght++; //нахождение кол-ва строк
}
string adres = Console.ReadLine();
string[] line = File.ReadAllLines("SomeData.txt", Encoding.Default);
char[] del = { ',', ' ' };
string text = "";
for (int i = 0; i < line.Length; i++)
{
string[] qw = line[i].Split(del, StringSplitOptions.RemoveEmptyEntries);
if (qw[4] == adres)
{
text += line[i] + "\n";
person person;
person.adres = qw[4];
Console.WriteLine("Ввести еще адрес?");
string answer = Console.ReadLine();
if (answer != "да")
{
write(text);
break;
}
else
{
Console.WriteLine("Введите адрес");
adres = Console.ReadLine();
i = -1;
}
}
}
}
catch (FileNotFoundException)
{
Console.WriteLine("Файл не найден");
Console.ReadKey();
}
}
static void write(string text)
{
using (StreamWriter sw = File.AppendText("resq.txt"))
{
sw.WriteLine(text);
}
}
}
}
}Решение задачи: «Как исправить ошибку?»
textual
Листинг программы
Номер телефона,фамилия,имя,,улица