小编eta*_*iso的帖子

搜索字符串集合的最快方法

问题:

我有一个大约120,000个用户(字符串)的文本文件,我想将其存储在一个集合中,然后再对该集合执行搜索.

每次用户更改a的文本时都会发生搜索方法TextBox,结果应该是包含文本的字符串TextBox.

我不必更改列表,只需将结果拉出来并将其放入ListBox.

到目前为止我尝试过的:

我尝试了两个不同的集合/容器,我正在从外部文本文件中转储字符串条目(当然是一次):

  1. List<string> allUsers;
  2. HashSet<string> allUsers;

使用以下LINQ查询:

allUsers.Where(item => item.Contains(textBox_search.Text)).ToList();

我的搜索事件(用户更改搜索文本时触发):

private void textBox_search_TextChanged(object sender, EventArgs e)
{
    if (textBox_search.Text.Length > 2)
    {
        listBox_choices.DataSource = allUsers.Where(item => item.Contains(textBox_search.Text)).ToList();
    }
    else
    {
        listBox_choices.DataSource = null;
    }
}
Run Code Online (Sandbox Code Playgroud)

结果:

两者都给了我一个很差的响应时间(每次按键之间大约1-3秒).

题:

你认为我的瓶颈在哪里?我用过的系列?搜索方法?都?

如何获得更好的性能和更流畅的功能?

c# linq collections string-search winforms

79
推荐指数
10
解决办法
2万
查看次数

在Bootstrap UI Accordion中单击时如何删除轮廓

我正在尝试使用angular-ui bootstrap手风琴来保持标题内的引导表.当用户点击手风琴标题并打开时,会出现一个奇怪的轮廓.它看起来像这样("一些标题"周围的浅蓝色矩形): 在此输入图像描述

我明白这是因为我使用了它<div>,但我怎样才能消除这种行为?

代码是:

<accordion close-others="true">
  <accordion-group>
    <accordion-heading>
      <div>Some title</div>
    </accordion-heading>
    Text
  </accordion-group>
  <accordion-group>
    <accordion-heading>
      <div>Another title</div>
    </accordion-heading>
  </accordion-group>
</accordion>
Run Code Online (Sandbox Code Playgroud)

html css angular-ui-bootstrap

16
推荐指数
2
解决办法
6094
查看次数

在Jenkins中复制同一作业上多个构建的工件

我正在使用MultiJob插件并且有一个Job-A触发Job-B多次的job().我的要求是从每个构建中复制一些工件(xml文件).

我有困难的是,使用复制神器插件与"最后一次成功的构建"选项,将只需要在最后构建Job-B,而我需要复制所有生成发布引发了相同的构建Job-A

流程如下: Job-A启动和触发:

`Job-A` -->
   Job-B build #1
   Job-B build #2
   Job-B build #3
   ** copy artifcats of all last 3 builds, not just #3 **
Run Code Online (Sandbox Code Playgroud)

注意:Job-B可以在同一次运行的不同从站上执行(我通过在上游作业-A上设置参数来设置从站动态运行)

完成所有构建后,我想Job-A从构建#1,#2和#3复制工件,而不仅仅是从上一次构建中复制工件.我怎样才能做到这一点?

jenkins

7
推荐指数
2
解决办法
4975
查看次数

C中未初始化的变量

我有点困惑.据我所知,如果你在C中声明一个int,而不是初始化它,例如:int x;

所以它的价值是不确定的.因此,如果我们尝试使用它或应该有未定义的行为.

所以,如果我在VS2010中运行以下代码,它会导致程序崩溃.

int main(){
    int a;
    printf("%d\n",a);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

现在让我们来看看下一个代码,它没有提供任何警告而且没有崩溃(为什么?)

void foo(int *var_handle){
    // do nothing
}

int main(){
    int a;
    foo(&a);
    printf("%d\n",a); // works, prints some big value
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

你能解释一下这种行为吗?我们只添加了对一个什么都不做的函数的调用,但现在程序不会崩溃.

c variables initialization undefined-behavior

3
推荐指数
2
解决办法
6904
查看次数

在C++中提供对类数据成员的回调函数访问

我在我的项目中使用C++中的opencv库,我在使用MouseCallback时遇到了问题.

我有一个类BoardCalibration,它有两个数据成员,我需要在回调函数中使用它们.你可以在下面看到这个类:

class BoardCalibration{
private:
    Rect _box;  <-- data members i need to upadte inside the callback function
    bool _drawingBox; <--

public:
    BoardCalibration();
    static void my_mouse_callback(int event, int x, int y, int flags, void* param);
    Rect calibrate(Mat& image);
    void drawBox(IplImage* img);
};
Run Code Online (Sandbox Code Playgroud)

在calibrate()方法中,im调用接收回调my_mouse_callback函数的函数.码:

Rect BoardCalibration::calibrate(Mat& image){
    IplImage * img = new IplImage(image);

    namedWindow("Calibration");

    IplImage *temp = cvCloneImage(img);
    cvSetMouseCallback("Calibration", my_mouse_callback, (void *)img);

    while (1){

        imshow("Calibration", Mat(img));
        cvCopyImage(img,temp);

        if( _drawingBox ){
            drawBox(temp);
        }

        imshow("Calibration", Mat(temp));

        if (waitKey(1)>=0)
            break;
    }

    cout << "calibrated\n"; …
Run Code Online (Sandbox Code Playgroud)

c++ opencv callback

0
推荐指数
1
解决办法
2368
查看次数