我找到了一些代码来计算Levenshtein在答案和猜测之间的距离:
int CheckErrors(string Answer, string Guess)
{
int[,] d = new int[Answer.Length + 1, Guess.Length + 1];
for (int i = 0; i <= Answer.Length; i++)
d[i, 0] = i;
for (int j = 0; j <= Guess.Length; j++)
d[0, j] = j;
for (int j = 1; j <= Guess.Length; j++)
for (int i = 1; i <= Answer.Length; i++)
if (Answer[i - 1] == Guess[j - 1])
d[i, j] = d[i - 1, j …Run Code Online (Sandbox Code Playgroud) 我有一个包含供应商名称的清单.说
SuppId Supplier Name
----------------------------------
1 Aardema & Whitelaw
2 Aafedt Forde Gray
3 Whitelaw & Sears-Ewald
Run Code Online (Sandbox Code Playgroud)
使用以下LINQ查询
supplierListQuery = supplierListQuery.Where(x => x.SupplierName.Contains(SearchKey));
Run Code Online (Sandbox Code Playgroud)
我可以在以下条件下正确返回记录,
1)如果我使用搜索字符串作为"Whitelaw&Sears-Ewald",它将返回第3条记录.
2)如果我使用"Whitelaw"或" Sears-Ewald",它将返回第3条记录.
但是,如果我将搜索字符串作为"Whitelaw Sears-Ewald",我怎么能返回第3条记录.它总是返回0条记录.
我可以使用ALL来获得此结果,但我不知道如何使用它来满足这一特殊需求.