【发布时间】:2012-07-09 10:53:34
【问题描述】:
我在这里发布了一个类似的问题,并得到了一个不起作用的答案。这是我需要排序的数据。
ID Title
--- ------
1 JCB Excavator - ECU P/N: 728/35700
2 Geo Prism 1995 Geo cart Geo001 -Geo ABS #16213899
3 Geo Prism 1995 - Geo ABS #16213899
4 Geo Prism 1995 - ABS #16213899
5 Wie man BBA reman erreicht
6 this JCB test JCB
7 Ersatz Airbags, Gurtstrammer und Auto Körper Teile
我的搜索数据类似于“JCB GEO”。我想对它进行排序,使数据变得像
ID Title
--- ------
2 Geo Prism 1995 Geo cart Geo001 -Geo ABS #16213899
3 Geo Prism 1995 - Geo ABS #16213899
4 Geo Prism 1995 - ABS #16213899
6 this JCB test JCB
1 JCB Excavator - ECU P/N: 728/35700
5 Wie man BBA reman erreicht
7 Ersatz Airbags, Gurtstrammer und Auto Körper Teile
首先出现的行是数据时间最长的行。因此,对于 GEO,该词在大多数行中的时间最长。 ID 2 有最大时间,词 GEO,下一行有 2 个 Geo 词...
我说我发布了这个问题并得到了下面的答案,这不起作用。
List<SearchResult> list = new List<SearchResult>() {
new SearchResult { Description = "JCB Excavator - ECU P/N: 728/35700" },
new SearchResult { Description = "Geo Prism 1995 - ABS #16213899" },
new SearchResult { Description = "Geo Prism 1995 - ABS #16213899" },
new SearchResult { Description = "Geo Prism 1995 - ABS #16213899" },
new SearchResult { Description = "Wie man BBA reman erreicht" },
new SearchResult { Description = "this test JCB" },
new SearchResult { Description = "Ersatz Airbags, Gurtstrammer und Auto Körper Teile" }
};
var wordsToFind = "Geo JCB".Split();
var values = list.Select(x => new { SearchResult = x, Count = x.Description.Split(' ')
.Where(c => wordsToFind .Contains(c)).Count() })
.OrderByDesending(x => x.Count)
.Select(x => x.SearchResult);
【问题讨论】:
-
如果您的答案无效,请不要接受该答案并与积极参与您的问题的人交谈以获得有效的答案。用多个相同的问题污染网站不是要走的路。