2014年2月2日 星期日

[C#] Dictionary 練習(判斷文字內有幾個英文單字)

想法 :
1. 利用Dictionary 將英文單字與數量分別用Key,Value表示
2. 判斷字母大小寫
3. 改用SortedDictionary 自動遞增排序

請看範例 :

  1. //判斷字串內有幾個單字
  2.         static SortedDictionary<char,int> CountWord(string text)
  3.         {
  4.             SortedDictionary<charint> Dic = new SortedDictionary<charint>();
  5.             char[] words = text.ToCharArray();
  6.             foreach (char word in words)
  7.             {
  8.                 //去除非字母
  9.                 if (char.IsLetter(word))
  10.                 {
  11.                     //轉小寫
  12.                     char w = char.ToLower(word);
  13.                     if (Dic.ContainsKey(w))
  14.                     {
  15.                         Dic[w]++;
  16.                     }
  17.                     else
  18.                     {
  19.                         Dic[w] = 1;
  20.                     }
  21.                 }
  22.             }
  23.             return Dic;
  24.         }



  1.  ///Ditionary 練習從片語中判斷出現幾次單字
  2.             string text = @"Do you like green eggs and ham?
  3.                            i do not like them, Sam-I-AM";
  4.             SortedDictionary<charint> frequency = CountWord(text);
  5.             foreach (KeyValuePair<char,int> word in frequency)
  6.             {
  7.                 char key = word.Key;
  8.                 int value = word.Value;
  9.                 Console.WriteLine("{0} : {1}個", key, value);
  10.             }

參考資料 : 精通C#

沒有留言:

張貼留言