Поиск в телефонном справочнике текстовом файле - C#
Формулировка задачи:
вопрос в следующем = у меня внутри сборки лижит файл phone.txt. по запросу имени, хочу получать его данные. в файле храняться имя,фамилия,телефон.
создаю поток , считываю всю инфу из файла. далее всё заношу в переменную стринг всё что считалось. далее считываю всё в массив и подрезаю там всё лишнее. после из массив пытаюсь уже вытащить нужные мне данные.
после запуска цикла пытаюсь найти человека по имени и вывести его данный имя,фамилия,телефон.
но к сожелению ничего не выводиться.
Console.WriteLine("Поиск в телефонном справочнике.");
Console.WriteLine("Введите именя и нажмите <Enter>.");
Console.Write("-> ");
string firstName = Console.ReadLine();
FileStream fs = new FileStream("phone.txt", FileMode.Open, FileAccess.Read);
StreamReader sr = new StreamReader(fs);
string alltext = sr.ReadToEnd();
sr.Close();
fs.Close();
// string FileContent = System.IO.File.ReadAllText("numbers.txt");
string[] srList;
srList = alltext.Split(' ', '\n');
for (int i = 0; i < srList.Length; i++)
{
// Console.WriteLine(srList[i]);
if (srList[i].ToString() == firstName)
{
Console.WriteLine(srList[i]);
Console.WriteLine(srList[i + 1]);
Console.WriteLine(srList[i + 2]);
}
}Решение задачи: «Поиск в телефонном справочнике текстовом файле»
textual
Листинг программы
string fileName = "phone.txt";
if (File.Exists(fileName))
{
string[] lines = File.ReadAllLines(fileName, Encoding.Default);
Console.WriteLine("Поиск в телефонном справочнике.");
Console.WriteLine("Введите имя и нажмите <Enter>.");
Console.Write("-> ");
string firstName = Console.ReadLine();
foreach (string line in lines)
{
string[] fields = line.Split();
if (fields[0] == firstName)
Console.WriteLine(line);
}
}
else
{
Console.WriteLine("Файл не найден!");
}