C#中的泛型,字典<tkey,tvalue> </tkey,tvalue>

时间:2011-10-28 06:57:44

标签: c# generics

我开始深入阅读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(在上面的陈述中)?我对这条线感到困惑。

提前致谢。

6 个答案:

答案 0 :(得分:3)

让我们说我们想要计算段落中的单词:

  

我开始深入阅读C#。现在我正处于仿制药之旅。   我在本书中看到了第一个泛型的例子

为了对单词进行计数,您需要一些能够存储每个单词出现次数的数据结构,基本上会将数字附加到字符串中,例如

  

我 - 3次
  in - 3次
  泛型 - 2次   等...

该结构将字符串映射为整数,而在C#Generics中,该结构为Dictionary<string,int>

顺便说一句,如果你是一个C#初学者,我会建议深入研究C#,虽然这是一本很棒的书,却假设一个非常先进的读者。

答案 1 :(得分:1)

他表示string是您的密钥,int是与密钥配对的值。

答案 2 :(得分:1)

Dictionary<string,int>string键(或查找)映射到int值。

答案 3 :(得分:1)

考虑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"];

答案 4 :(得分:1)

此函数计算给定字符串中的所有单词。在返回的字典中,每个找到的单词都存在一个条目,其中单词为key。在存储int值时,在字符串中找到该单词的次数。

答案 5 :(得分:0)

这意味着从KeyValue