Поиск номера строки - C#
Формулировка задачи:
Здравствуйте. Задача такая, я ввожу строку чисел (например "2,3,7,11"), мне нужно найти эту строку в файле и номер строки где находятся данные.
Текстовый файл "log.txt" такой:
1,2,3,4
2,3,7,11
5,6,7,10
Листинг программы
- using System.IO;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- class ConsoleApplication1
- {
- public static void Main()
- {
- //всего сколько строк в файле
- try
- {
- using (StreamReader s = new StreamReader("log.txt"))
- {
- String line;
- int i = 0;
- while ((line = s.ReadLine()) != null)//читаем по одной линии, пока не конец
- {
- i++;
- }
- Console.WriteLine("Line counts:" + i.ToString());
- }
- }
- catch (Exception e)
- {
- Console.WriteLine(e);
- }
- //находим строку "2,3,7,11"
- try
- {
- string path = "log.txt"; //путь
- string s = File.ReadAllText(path);
- Console.Write("Введите слово которое ищите: \n");
- string f = ("2,3,7,11");
- Console.WriteLine(f);
- if (s.Contains(f))
- {
- Console.WriteLine("слово содержится в тексте");
- }
- else
- {
- Console.WriteLine("такого нет");
- }
- }
- catch (Exception ex)
- {
- Console.WriteLine(ex);
- }
- Console.ReadKey();
- }
- }
Решение задачи: «Поиск номера строки»
textual
Листинг программы
- string[] s = File.ReadAllLines(@"E:\log.txt").ToArray();
- string f = ReadLine(); string s1 = Join("", s.Where(v => v == f).Distinct());
- WriteLine(s1 != "" ? $"{s1}; Строки: {(Join(", ", s.Select((v, i) => (v == f) ? i + 1 : 0).Where(v => v != 0)))}" : "Совпадений нет");
- ReadLine();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д