Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2019, 13:06   #1
pomogitemneplz
 
Регистрация: 02.12.2018
Сообщений: 8
По умолчанию Помогите решить проблему!!! C#

Была задача:
Вводится текст. Отредактировать текст, удаляя те слова которые уже встречались ранее. Конец ввода F1.
Задачу сделал, но когда ввожу в консоли слова при нажатии на клавиши F1-F12 печатается буква а( после нажатия F1 программа завершается, yj ghjgtxfnfd а). Как исправить?
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication5
{
    class Program
    {
        static void Main(string[] args)
        {
            List<char> text = new List<char>();
            List<string> text1 = new List<string>();
            string text2 = null;
            ConsoleKeyInfo input;
            int i = 0;
            do
            {
                input = Console.ReadKey();
                if (input.Key != ConsoleKey.F2 && input.Key != ConsoleKey.F3 && input.Key != ConsoleKey.F4 && input.Key != ConsoleKey.F5 && input.Key != ConsoleKey.F6 && input.Key != ConsoleKey.F7 && input.Key != ConsoleKey.F8 && input.Key != ConsoleKey.F9 && input.Key != ConsoleKey.F10 && input.Key != ConsoleKey.F11 && input.Key != ConsoleKey.F12)
                {
                    text.Add(input.KeyChar);
                    if (input.KeyChar == ' ')
                        i++;
                }


            } while (input.Key != ConsoleKey.F1);


            for (int item = 0; item < text.Count; item++)
            {
                if (text[item] != ' ')
                {
                    text2 = text2 + Convert.ToString(text[item]);
                }
                else
                {
                    text1.Add(text2);
                    text2 = null;
                }
            }

            var newText = text1.Distinct();

            Console.WriteLine();

            foreach (var item in newText)
            {
                Console.Write(item + ' ');
            }

        }

    }
}
pomogitemneplz вне форума Ответить с цитированием
Старый 20.05.2019, 13:42   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

зачем Вам этот ужас с ReadKey() ?!
Прочитать строку просто и быстро можно через Console.ReadLine();
Вам больше ничего и не нужно.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите решить проблему!!! D31 Общие вопросы C/C++ 0 20.09.2018 18:53
Помогите решить проблему USIXA Общие вопросы Delphi 2 26.05.2017 11:35
Помогите решить проблему. Nikromantik Общие вопросы C/C++ 9 12.02.2014 22:39
ПОМОГИТЕ РЕШИТЬ ПРОБЛЕМУ !!!!!!!!!!!! ЛиЛу Помощь студентам 5 29.12.2008 15:36