我有一個字符串列表,我需要找到列表中搜索字符串的最長匹配。找到列表c中字符串的最長匹配c#
例如列表包含: 「測試」, 「ABC」, 「測試」, 「testingap」 我的搜索字符串是 'testingapplication'
的結果應該是 'testingap'
這裏我做了什麼,到目前爲止,它的工作,但我正在尋找有沒有更好的有效的方法既然你已經在使用LINQ的長度通過做這個
string search= "testingapplication";
List<string> names = new List<string>(new[] { "test", "abc", "testing", "testingap" });
List<string> matchedItems = new List<string>();
foreach (string item in names)
{
if (search.Contains(item))
{
matchedItems.Add(item);
Console.WriteLine(item);
}
}
var WordMatch= matchedItems.Aggregate("", (max, cur) => max.Length > cur.Length ? max : cur);
Console.WriteLine("WordMatch"+WordMatch);
**如何**它是'不工作'? – hatchet
它正在工作,我正在尋找更好的方式來獲得相同的結果 – Orchidee