.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();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.417 из 5
Похожие ответы