我正在用 C# 构建一个自然语言处理器,我们数据库中的许多“单词”实际上是指一个名词或动作的多词短语。请不要讨论这个设计调用,只要说它目前不可更改就足够了。我有我需要测试这些短语和单词的句子相关单词(块)的字符串数组。 什么是处理子数组提取的适当惯用方法,因此我运行溢出错误等的风险最小?
为了给出所需逻辑的示例,让我逐步使用示例块进行运行。出于我们的目的,假设数据库中唯一的多词短语是“quick brown”。
Full phrase: The quick brown fox -> encoded as {"The", "quick", "brown", "fox"}
First iteration: Test "The quick brown fox" -> returns nothing
Second iteration: Test "The quick brown" -> returns nothing
Third iteration: Test "The quick" -> returns nothing
Fourth iteration: Test "The" -> returns value
Fifth iteration: Test "quick brown fox" -> returns nothing
Sixth iteration: Test "quick brown" -> returns value
Seventh iteration: Test "fox" -> returns value
Sum all returned values and return.
我对如何解决这个问题有一些想法,但我越是关注事情,我就越担心数组寻址错误和其他困扰我的代码的恐怖事件。该短语以字符串数组的形式出现,但我可以将其放入 IEnumerable。我唯一担心的是 Enumerable 缺少索引。