有没有办法使用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