有沒有辦法使用IEnumerable
For Each
-Loop通過SortedDictionary
中的多個定義進行解析?我想基本上用它作爲一個簡單的數據庫結構,我猜。例如,假設我的字典用於旋轉文章,如下所示。對於一個句子中的每個單詞(我的字符串),我會使用同義詞(我的定義)創建該字符串的新版本。這甚至是最好的選擇?這是我到目前爲止有:使用C排列多個字典值
string testSentence = "Take it or beat it.";
List<string> allSynonyms = SynonymUtility.AlternativesOf(testSentence).ToList();
variations.AddRange(allSynonyms);
public class SynonymUtility
{
private static readonly SortedDictionary<char, string> synonymList = new SortedDictionary<char, string>
{
{'but', "however"},
{'take', "abduct, abstract, accroach"},
{'beat', "hit, lash, punch, shake"},
{'end', " butt, confine, cusp"};
}
public static IEnumerable<string> AlternativesOf(string arg)
{
arg = arg.ToLower();
string[] words = arg.Split(" "));
//END HERE I AM STUCK...
}
因此,大家可以看到,我對我的方式來解決,但我不能想出如何採取每一個分割的話,並與各替換它們字典中的同義詞。每個嘗試只會替換一個項目......所以最後會有9個排列的句子串。
無論如何,任何幫助,將不勝感激。
爲什麼不只是有一個List作爲你的字典價值? –
2013-03-14 23:29:39
你會怎麼做?它不需要每個單詞的單獨列表嗎? – Jeagr 2013-03-14 23:37:21
你可以做'Dictionary> myDictionary = new Dictionary >;'然後你可以在字典中添加一個列表或者添加一個新的同義詞到像這樣的'myDictionary [「節點「] .Add(」hit「);' –
2013-03-14 23:45:18