Дженерики в C #, словарь

#c# #generics

#c# #обобщения

Вопрос:

Я начал углубленно изучать C #. Теперь я на пути к дженерикам. Я наткнулся на первый пример дженериков в этой книге как:

 static Dictionary<string,int> CountWords(string text)
{
   Dictionary<string,int> frequencies;
   frequencies = new Dictionary<string,int>();
   ... //other code goes here..
 

И после этого кода автор говорит, что:

 The CountWords method first creates an empty map from string to int 
 

Мне, как новичку в C #, это кажется расплывчатым, что автор пытается иметь в виду string to int (в приведенном выше утверждении)? Я немного сбит с толку этой строкой.

Заранее спасибо.

Комментарии:

1. Может быть, @Джон Скит хочет ответить сам 😉

2. @TimSchmelter : о да, я думаю, он мог бы отвечать на некоторые другие вопросы C # прямо сейчас 😉

3. Я думаю, что другие ответы уже рассмотрели это.

Ответ №1:

Допустим, мы хотим посчитать слова в абзаце:

Я начал углубленно изучать C #. Теперь я нахожусь в путешествии Дженериков. Я наткнулся на первый пример дженериков в этой книге как

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

I — 3 раза
в — 3 раза
Дженерики — 2 раза и т.д…

эта структура преобразует строку в целое число, а в C # Generics эта структура представляет собой Dictionary<string,int>

Кстати, если вы новичок в C #, я бы рекомендовал не углубляться в C #, который, будучи отличной книгой, предполагает довольно продвинутого читателя.

Комментарии:

1. Что ж, мне нравится эта книга 🙂 и для справки у меня есть C # в nutshell.. Я справлюсь сам! 🙂

Ответ №2:

Он означает, что string это ваш ключ и int значение, связанное с ключом.

Ответ №3:

Dictionary<string,int> сопоставляет string ключ (или поиск) со int значением.

Ответ №4:

Рассмотрим Dictionary<string,int> frequencies .
При попытке добавить элемент, который вы используете (например)

 frequencies.Add("key3", 3)
 

Когда вы добавляете другой элемент, вы не можете повторить «key3», потому Dictionary что это уникальный ключ; поэтому вы создаете «карту», потому что вы уверены, что у вас есть уникальные ключи, и вы можете вспомнить значения, используя их ключ : frequencies["key3"]

 Dictionary<string, int> frequencies = new Dictionary<string, int>();
frequencies.Add("key3", 3);
frequencies.Add("key4", 4);
frequencies.Add("key3", 5); // This raises an error

int value = frequencies["key3"];
 

Ответ №5:

Эта функция подсчитывает все слова в заданной строке. В возвращенном словаре для каждого найденного слова существует одна запись со словом в качестве ключа. В int хранится значение, сколько раз это слово было найдено в строке.

Ответ №6:

Это означает Key , что из Value