Erläuterung: Ich weiß nicht wirklich, ob es weitere Erklärungen erfordert, aber ich werde es versuchen. inputList
ist ein Array oder eine andere Sammlung, die Quellwörter bereitstellt. GroupBy
Funktion gruppiert die Eingabe-Sammlung durch eine ähnliche Eigenschaft (in meinem Code das Objekt selbst, wie von der Lambda word => word
angegeben). Die Ausgabe (eine Gruppe von Gruppen durch einen angegebenen Schlüssel, das Wort) wird in ein Objekt mit Word
und Frequency
Eigenschaften umgewandelt und nach Frequency
Eigenschaft in absteigender Reihenfolge sortiert. Sie könnten .Take(10000)
verwenden, um die ersten 10000 zu nehmen. Die ganze Sache kann leicht durch .AsParallel()
von PLINQ zur Verfügung gestellt werden. Die Abfrage Operator Syntax aussehen könnte deutlicher:
var mostFrequentlyUsed =
(from word in inputList
group word by word into wordGroup
select new { Word = wordGroup.Key, Frequency = wordGroup.Count() })
.OrderByDescending(word => word.Frequency).Take(10000);
Diese Seite hat Ihre ersten 1000 abgedeckt: http://www.duboislc.org/EducationWatch/First100Words.html – gnovice
Gibt es eine bestimmte Quellenliste, wie unten von mindestens 2 Antworten angenommen? Oder entdecken Sie die Liste der 10 000 am häufigsten verwendeten Wörter des Problems, für die Sie eine Lösung suchen? – CoderDennis