我需要根据列表中的字符串和目标字符串之间的差异对List进行排序.
实现这种排序算法的最佳方法是什么?
我不太关心性能,但收藏可能会变得很大(让我们说五十个上衣).
感谢任何帮助!
我建议计算Levenshtein距离,然后简单地按整数结果排序.(魔法代码)
public void Example() { string target = "target"; ListmyStings = new List (); 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; }
没有OrderBy的老skool 2.0家伙?
ListmyStrings; myStrings.Sort(LevenshteinCompare); ... public class LevenshteinCompare: IComparer { public int Compare(string x, string y) { // Magic goes here } }