2017-02-10 94 views
-2

我有一個元素列表排序在c#/列表基於完全匹​​配部分匹配

1)taymril 6.5%inmatro
2 taymril 11.5%tometo
3)taymril 1.5%羅密歐列表)

輸入的字符串是,例如,taymril 1.5%romeo。基於與輸入字符串的匹配,我如何對上述列表(15-20個元素進行排序,但我只寫了三個元素作爲示例)?我如何以通用的方式爲數據庫中的所有輸入字符串和所有元素執行此操作?任何想法?

+1

你可以使用一個[Levenshtein距離](https://en.wikipedia.org/wiki/Levenshtein_distance)算法來計算_dissimilarity_,然後使用'列表= list.OrderBy(S => GetLevenshteinDistance(輸入, s))。ToList();' –

+0

謝謝蒂姆,我會試試這個,讓你知道 – neo

+0

它的工作原理。謝謝。 – neo

回答

0
List<string> listString = new List<string>(); 
      listString.Add("taymril 6.5% inmatro"); 
      listString.Add("taymril 11.5% tometo"); 
      listString.Add("taymril 1.5% romeo"); 

      var list = listString.OrderBy(x => x); 
       //or 
      var listd = listString.OrderByDescending(x => x);