Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.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# 如何在搜索桌面程序中自动完成_C#_Autocomplete - Fatal编程技术网

C# 如何在搜索桌面程序中自动完成

C# 如何在搜索桌面程序中自动完成,c#,autocomplete,C#,Autocomplete,我正在编写一个搜索桌面程序,以便在SQLServer2008DB中查找单词和句子 我想像巴比伦那样做: 当用户开始写第一个字母时,程序应建议以该字母开头的前N个单词。 当他完成一个正确的单词时,程序应该建议包含这个单词的前N个句子 我为搜索引擎编写了算法,但是使用了线程来开始前面的步骤,所以我在每个按键事件上创建了一个新线程。 我注意到这种方法很慢。有人能推荐一个新的吗 我的目标是让它像巴比伦一样。自动完成速度很快。为什么不在同一个线程上对同一个数据库运行算法呢。在我看来,每按一次键就有一个线程

我正在编写一个搜索桌面程序,以便在SQLServer2008DB中查找单词和句子

我想像巴比伦那样做:

当用户开始写第一个字母时,程序应建议以该字母开头的前N个单词。 当他完成一个正确的单词时,程序应该建议包含这个单词的前N个句子

我为搜索引擎编写了算法,但是使用了线程来开始前面的步骤,所以我在每个按键事件上创建了一个新线程。 我注意到这种方法很慢。有人能推荐一个新的吗


我的目标是让它像巴比伦一样。自动完成速度很快。

为什么不在同一个线程上对同一个数据库运行算法呢。在我看来,每按一次键就有一个线程是多余的


您还可以从表X中获取行,然后对它们运行算法,而不是来回访问数据库(不确定是否已经这样做)。

为什么不在同一个线程上对同一个数据库运行算法呢。在我看来,每按一次键就有一个线程是多余的


您还可以从表X中获取行,然后对它们运行算法,而不是来回访问数据库(不确定您是否已经这样做)。

@Baddie:Thanx..-我使用每个按键的线程数和信号量来管理对搜索算法的访问(这意味着只有一个线程在搜索),并在算法期间测试是否有其他线程在等待他..如果是真的,则返回并停止他正在做的事情我无法从表中获取行,因为有将近14000行。。。但也许我会尝试获取包含单词第一个字母的单词行…(我不知道你的意思)…我的意思是缓存,将它们存储在一个变量中,然后对该变量运行搜索(使用C#语法),但使用14k行可能是个坏主意。@Baddie:Thanx..-我使用每个按键的线程数和信号量来管理对搜索算法的访问(这意味着只有一个线程在搜索),并在算法期间测试是否有其他线程在等待他..如果是真的,则返回并停止他正在做的事情我无法从表中获取行,因为有将近14000行。。。但也许我会尝试获取包含单词第一个字母的单词行…(我不知道你的意思)…我的意思是缓存,将它们存储在一个变量中,然后对该变量运行搜索(使用C#语法),但使用14k行可能是个坏主意。