Joh*_*dol 0 .net c# sorting collections
我需要根据列表中的字符串和目标字符串之间的差异对List进行排序.
实现这种排序算法的最佳方法是什么?
我不太关心性能,但收藏可能会变得很大(让我们说五十个上衣).
感谢任何帮助!
Dea*_*unt 10
我建议计算Levenshtein距离,然后简单地按整数结果排序.(魔法代码)
public void Example()
{
string target = "target";
List<string> myStings = new List<string>();
myStings.Add("this");
myStings.Add("that");
myStrings = myStrings.OrderBy(each => Levenshtein(each, target)).ToList();
}
public int Levenshtein(string stringA, string stringB)
{
// Magic goes here
return 0;
}
Run Code Online (Sandbox Code Playgroud)
没有OrderBy的老skool 2.0家伙?
List<string> myStrings;
myStrings.Sort(LevenshteinCompare);
...
public class LevenshteinCompare: IComparer<string>
{
public int Compare(string x, string y)
{
// Magic goes here
}
}
Run Code Online (Sandbox Code Playgroud)