Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在AutoCompleteTestringCollection中搜索字符串的最快方法_C#_.net_Winforms - Fatal编程技术网

C# 在AutoCompleteTestringCollection中搜索字符串的最快方法

C# 在AutoCompleteTestringCollection中搜索字符串的最快方法,c#,.net,winforms,C#,.net,Winforms,我需要帮助快速在AutoCompleteStringCollection中找到字符串。我正在文本框中自动完成/查找文本。我想在用户使用AutoCompleteStringCollection点击文本框时搜索特定字符串。我收集了更多的唱片(约10万张)。如果使用循环,则需要很长时间才能获得结果,因此我希望能够快速搜索集合或快速复制匹配的字符串集合行。请发现下面的代码占用了太多时间。这写在TexboxTextChanged事件中 foreach (String s in textBox2.AutoC

我需要帮助快速在
AutoCompleteStringCollection
中找到字符串。我正在文本框中自动完成/查找文本。我想在用户使用
AutoCompleteStringCollection
点击文本框时搜索特定字符串。我收集了更多的唱片(约10万张)。如果使用循环,则需要很长时间才能获得结果,因此我希望能够快速搜索集合或快速复制匹配的字符串集合行。请发现下面的代码占用了太多时间。这写在Texbox
TextChanged
事件中

foreach (String s in textBox2.AutoCompleteCustomSource)
{
    if (s.Contains(textBox2.Text))
    {
       listBox1.Items.Add(s);
       listBox1.Visible = true;
    }
}

请让我知道我是否可以使用任何其他方法来搜索字符串,而不是使用
foreach

也许你应该看看如何使用它如果你有很多项目,你可以看看这里,我不太理解你的问题。为什么需要使用AutoCompleteTestringCollection进行搜索?朋友们,谢谢你们的回复。是的,对不起,我没提那件事。我正在创建自己的自动完成控件(由于多列显示、排序问题等中存在一些限制)。为此,我在自动完成文本框中捕获结果,并获取字符串并显示到列表框中。为此,我需要快速的搜索方法。如果我做到了这一点,我将在列表框中添加其他列(仅显示目的)和着色等。。因为我想在我的autocomplete中提升更多的未来,不想购买第三方控件。请指导我是否正确。谢谢WilMaxx和Bastianonm。@Bastianonm:是的,我也尝试过同样的文章,普通的.net本机自动完成未来,只是有点快。但我想显示额外的列(如multicmbo、list box等),所以我考虑使用新的自定义控件。为此,我需要快速搜索字符串。。请帮帮我。