.NET 4.x Пользователь вводит 2 имени файла, прога копирует в 3 файл те строки, которые есть в 1 и во 2 файле без повтор - C#
Формулировка задачи:
Доброго времени суток.Ув.Гуру,влейте в чайника мозгов.
Помогите пожалуйста с задачей
Пользователь вводит 2 имени файла, прога копирует в 3 файл те строки, которые есть в 1 и во 2 файле без повторений,а так же программа подсчитывает количество слов в файле 1.
Решение задачи: «.NET 4.x Пользователь вводит 2 имени файла, прога копирует в 3 файл те строки, которые есть в 1 и во 2 файле без повтор»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine("Введите имя 1-го файла:"); HashSet<string> file1Lines = new HashSet<string>(File.ReadAllLines(Console.ReadLine(),Encoding.GetEncoding(1251))); //hashset - набор уникальных обьектов Console.WriteLine("Введите имя 2-го файла:"); HashSet<string> file2Lines = new HashSet<string>(File.ReadAllLines(Console.ReadLine(),Encoding.GetEncoding(1251))); HashSet<string> file3Lines = new HashSet<string>(file1Lines); //создаем копию строк 1-го файла file3Lines.UnionWith(file2Lines); //обьединяем с строками 2-го Console.WriteLine("Введите имя 3-го файла:"); File.WriteAllLines(Console.ReadLine(), file3Lines.ToArray(), Encoding.GetEncoding(1251)); //пишем в третий файл Console.WriteLine("Количество строк в 1-м файле: " + file1Lines.Count); //допустим слова разделены пробелом и знаками препинания - каждую строку делим на слова, считаем их количество, select сделает это для каждой строки, полученные количества слов суммируем Console.WriteLine("Количество слов в 1-м файле: " + file1Lines.Select(x => x.Split(" ,.;:".ToCharArray(),StringSplitOptions.RemoveEmptyEntries).Length).Sum()); Console.ReadKey(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д