#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