Ein Hakenwort ist ein Wort, an dessen Anfang oder Ende man einen Buchstaben anfügen kann, um ein neues Wort zu bilden.
Ich habe eine ziemlich große Liste von Wörtern (ca. 170k), und ich möchte 5 zufällige Hakenwörter auswählen. Das Problem ist, dass die von mir verwendete Methode extrem langsam ist. Siehe unten:
Random rnd = new Random();
var hookBases = (from aw in allWords //allWords is a List<string>
from aw2 in allWords
where aw2.Contains(aw)
&& aw2.Length == aw.Length + 1
&& aw[0] == 'c'
select aw).OrderBy(t => rnd.Next()).Take(5);
Wenn ich versuche, auf etwas von hookBase
er dreht sich mehrere Minuten lang, bevor ich aufgebe und ihn ausschalte.
Sieht jemand offensichtliche Fehler bei meinem Versuch, dies zu tun? Hat jemand Vorschläge für einen effizienteren Weg?