23/06/30 17:31:05.12 t7Ah47nQ0.net
googleとかの検索エンジンで、検索文字列入力エリアに文字を入力すると、自動的に検索候補が出てきますが、
自分で C# の ComboBox に表示してみたら、表示までにかなり時間がかかります。
どうすれば高速化できるのでしょうか。
検索候補として IEnumerable に保持している要素数は2万件で、最初の1文字入力時に表示されるまで、体感で1秒以上かかってます。
今のソースは下記です。
------------------------
List<string> suggestionWordList = ;//あらかじめDBから取得済みの検索候補
//inputedWords は、入力文字列をスペースでsplitした配列。
void Search(string[] inputedWords)
{
var keywords = inputedWords.ToList();
var result = suggestionWordList.FindAll(s => keywords.TrueForAll(s.Contains));
ComboBox1.DataSource = result;
}
------------------------
※要素の保持方法や文字列処理は言語固有の機能が結構あるので、C# スレで質問しました。