1 / 1 / 0
Регистрация: 19.04.2011
Сообщений: 22

Данный ключ отсутствует в словаре. Dictionary

13.01.2020, 14:59. Показов 9843. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Выкладываю кусок кода. Проблема: когда запускаю программа пишет ошибку в строке 46. Почему? Почему он не переводит с английской раскладки на русскую..???

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
string En = "~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:\"ZXCVBNM<>?`1234567890-=qwertyuiop[]\\asdfghjkl;'zxcvbnm,./↑←↓ ";
string Ru = "Ё!\"№;%:?*()_+ЙЦУКЕНГШЩЗХЪ/ФЫВАПРОЛДЖЭЯЧСМИТЬБЮ,ё1234567890-=йцукенгшщзхъ\\фывапролджэячсмитьбю.↑←↓ ";
 
 
char[] enen = En.ToCharArray();
                    char[] ruru = Ru.ToCharArray();
                    char[] spsp = Sp.ToCharArray();
                    char[] spen = SpEn.ToCharArray();
 
                    int a = enen.Length;
                    int b = ruru.Length;
 
                    var dictionary = new Dictionary<char, char>();
                    for (int i = 0; i < a; i++)
                    {
 
                        dictionary.Add(enen[i], ruru[i]);
 
                    }
 
                   
    
            var result = new StringBuilder();
            int d = ruru.Length - 1;
            int f = enen.Length - 1;
 
            
 
            foreach (string str1 in mystr)
            {
                if (str1 == "::1033::") { isExist = true; }
                if (str1 == "::1049::") { isExist = false; }
 
 
                    if (isExist == true)
                    {
 
                        foreach (char j in str1)
                            result.Append(j);
  
                    }
 
                    else
                    {
                        foreach (char c in str1)
                            result.Append(dictionary[c]);
             
                }
            }
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.01.2020, 14:59
Ответы с готовыми решениями:

Данный ключ отсутствует в словаре!
что это за ошибка такая? часть проги вы увидите на картинке! подскажите, в чем же может быть ошибка! или что это означает??!

"Ключ отсутствует в словаре" при заполнении Dictionary из файла
здравствуйте. у меня такая проблема. создаю словарь из файла и подсчитываю кол-во каждого слова в файле. выдает ошибку на строку 32....

Данный ключ отсутствует в словаре
Добрый вечер. Заранее извиняюсь за низкую осведомленность по теме. При написании работы столкнулся с данной ошибкой. Есть приложение...

23
1 / 1 / 0
Регистрация: 19.04.2011
Сообщений: 22
13.01.2020, 17:32  [ТС]
Студворк — интернет-сервис помощи студентам
Даценд, зато можно определить раскладку системы в момент ввода символов, от этого и отталкиваюсь
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
13.01.2020, 17:37
Цитата Сообщение от Nibros Посмотреть сообщение
зато можно определить раскладку системы в момент ввода символов
ну тогда сделайте словарь с двумя наборами, как предложил Kazbek17
0
1 / 1 / 0
Регистрация: 19.04.2011
Сообщений: 22
13.01.2020, 17:46  [ТС]
Даценд, так сделал, все равно ошибку такую же выдает, не понимаю в чем проблема..

нужно чтобы при раскладке 1049 вместо английских букв были русские, не получается перевести их, поэтому прощу помощи)

Добавлено через 6 минут
Пишет ошибку: "Элемент с тем же ключом уже был добавлен."


C#
1
2
dictionary.Add(enen[i], ruru[i]);
dictionary.Add(ruru[i], enen[i]);
0
 Аватар для Kazbek17
1485 / 939 / 455
Регистрация: 06.02.2012
Сообщений: 2,870
13.01.2020, 17:49
Лучший ответ Сообщение было отмечено Nibros как решение

Решение

Nibros, вот как вариант.
Класс
Кликните здесь для просмотра всего текста

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class CollectionKeyWord : List<Tuple<char, char>>
        {
            public char this[char _char]
            {
                get
                {
                    char value = default;
                    Tuple<char, char> getChar = this.Find(x => x.Item1 == _char);
                    if (getChar != null)
                        value = getChar.Item2;
                    else
                        value = this.Find(x => x.Item2 == _char).Item1;
                    return value;
                }
            }
        }


Заполняем словарь
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
CollectionKeyWord dictionary = new CollectionKeyWord();
        private void btSave_Click(object sender, EventArgs e)
        {
            string En = "~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:\"ZXCVBNM<>?`1234567890-=qwertyuiop[]\\asdfghjkl;'zxcvbnm,./↑←↓ ";
            string Ru = "Ё!\"№;%:?*()_+ЙЦУКЕНГШЩЗХЪ/ФЫВАПРОЛДЖЭЯЧСМИТЬБЮ,ё1234567890-=йцукенгшщзхъ\\фывапролджэячсмитьбю.↑←↓ ";
 
 
            char[] enen = En.ToCharArray();
            char[] ruru = Ru.ToCharArray();
 
            int b = ruru.Length;
 
            Tuple<char,char> tuple;
            for (int i = 0; i < En.ToCharArray().Length; i++)
            {
                tuple = new Tuple<char, char>(enen[i], ruru[i]);
                dictionary.Add(tuple);
            }
        }
Получаем результат в двух направления
C#
1
2
3
4
       private void textBox1_TextChanged(object sender, EventArgs e)
        {
            textBox2.Text = dictionary[textBox1.Text[0]].ToString();
        }
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.01.2020, 17:49

Данный ключ отсутствует в словаре
Создал проект MVC в VS2017. Открыл его в VS2013. Компилируется и запускается нормально. Но в файле контроллера почему-то не...

Ошибка при загрузке данных из бд в dataGrid1 "Данный ключ отсутствует в словаре"
Всем доброго времени суток. Заранее извиняюсь если данная тема уже подымалась. У меня при компиляции кода DataTable usertable =...

Словарь в словаре Dictionary
Всем доброго дня! Как инициализировать словарь вида: {15:{&quot;name&quot;:&quot;a&quot;, &quot;surname&quot;:&quot;b&quot;}, 17:{&quot;name&quot;:&quot;c&quot;,...

Использование массива в словаре Dictionary
Приветствую. Помогите разобраться. Есть словарь и класс, который является значением словаря. Если я беру просто поле типа int, string и...

Поиск типа объекта в словаре Dictionary<>
Здравствуйте. Подскажите, как мне осуществить поиск по типа объекта в словаре? У меня есть словарь, в котором содержатся экземпляры...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Опции темы

Новые блоги и статьи
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru