![](/img/trans.png)
[英]C# - Serializing Custom Dictionary<TKey,TValue> Object & TValue SubObjects
[英]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值中,在字符串中找到該單詞的次數。
這意味着從Key
到Value
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.