簡體   English   中英

C#中的泛型,字典<TKey,TValue>

[英]Generics in C#, Dictionary<TKey,TValue>

我開始深入閱讀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 (在上面的語句中)? 我對這條線有些困惑。

提前致謝。

假設我們要計算段落中的單詞:

我開始深入閱讀C#。 現在,我正在仿制葯的旅程中。 我在本書中遇到了泛型的第一個例子

為了計算單詞,您需要一些數據結構,該數據結構將能夠存儲每個單詞的出現次數,基本上將數字附加到字符串上,例如

我-3次
在-3次
泛型-2次,等等...

該結構將字符串映射為整數,在C#泛型中,該結構為Dictionary<string,int>

順便說一句,如果您是C#初學者,我將對C#進行深度推薦,盡管它是一本不錯的書,但假定讀者是相當高級的。

他的意思是string是您的鍵,而int是與鍵配對的值。

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

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

此函數計算給定字符串中的所有單詞。 在返回的字典中,每個找到的單詞都有一個以該單詞為鍵的條目。 在存儲的int值中,在字符串中找到該單詞的次數。

這意味着從KeyValue

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM