DictionaryAPI(词汇)有谁知道一个好的.NETdictionaryAPI?我对意思不感兴趣,而是我需要能够以多种不同的方式查找单词-返回x长度的单词,返回部分匹配等......来自像ASpell这样的开源拼写检查器(http://aspell.net/)程序并将其加载到列表或您喜欢的任何结构中。例如,Listwords=System.IO.File.ReadAllText("MyWords.txt").Split(newstring[]{Environment.NewLine}).ToList();//C#3.0(LINQ)示例://获取所有长度为5的单词:fromwordinwordswhereword.length==5selectword//从wordinwordswhereword.Contains("foo")selectword//C#2.0示例://获取所有长度为5的单词:words.FindAll(delegate(strings){returns.Length==5;});//获取“foo”字词的部分匹配。FindAll(delegate(strings){returns.Contains("foo");});您可能想要查找Trie实现。这肯定有助于“以XYZ开头的单词”以及精确匹配。您可能希望将所有数据保存在多个数据结构中,每个数据结构都针对特定任务进行调整-例如一个用于字谜,一个用于“按长度”等。与RAM相比,自然语言词典相对较小,因此如果您真的想要快速查找,这可能是可行的方法。根据您的查询涉及的程度,可能值得研究WordNet,它基本上是一个语义词典。它包括词性、同义词和单词之间其他类型的关系。NetSpell(http://www.loresoft.com/netspell/)是一个拼写检查器,用.NET编写,可用于多种语言的单词列表。我和BarryFandango一起,但你可以在没有LINQ的情况下做到这一点。.NET2.0在List(T)类型上有一些很好的过滤方法。我建议的是List(T).FindAll(Predicate(T)):List(T)此方法将通过predicate方法将每个元素放入列表并返回返回“true”的单词列表。因此,将您建议的单词从开源词典加载到列表(字符串)中。查找所有长度为5的单词...List(String)words=LoadFromDictionary();List(String)fiveLetterWords=words.FindAll(delegate(Stringword){returnword.Length==5;});或者以'abc'开头的所有单词...以上就是C#学习教程:字典API(词汇)分享的全部内容。LoadFromDictionary();List(String)abcWords=words.FindAll(delegate(Stringword){returnword.StartsWith('abc');});本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理会员删除。如需转载请注明出处:
