Environment.NewLine列表显示

时间:2017-04-04 15:09:16

标签: c# list task environment hang

我在已存在的列表之间切换显示,没有任何并行或前面的过程来创建它。我只需要通过切换文本框来显示完全独立的已存在列表,每个显示大小约为7000行,但每行也是一组或几个字符串,因此它是大输出大约25.0 MB大小的文本。

我尝试过使用几种不同的任务方法,但不确定这种情况是否合适。无论如何,如果我使用await进行异步显示以进行先前或并行处理,所有这些方法都可以正常工作,这可以通过任务成功处理。

但是我与Environment.NewLine冻结几秒钟的GUI有关,我无法在按下按钮和显示文本之间移动屏幕。

为什么同一个显示器完全由任务处理,如果我有前面的过程,除了负载之外还创建具有大量计算过程的列表,没有任何问题。但是,如果我只想显示已经存在的列表,那么我就有这么短的时间,当任务中的Environment.NewLine完全相同时使用。

所以我没有附加到显示的任何列表形成过程,列表已经存在,并且目标以某种方式显示它而没有这个简短的GUI挂起。

private void PART()
{       
    if (a != 0)
    {
        if (b == 0)
        {
            textBox1.Text = String.Join(Environment.NewLine, list3);             
        }
        else
        {
            textBox1.Text = String.Join(Environment.NewLine, list4);             
        }
    }
    else
    {
        if (b == 0)
        {
            textBox1.Text = String.Join(Environment.NewLine, list1);             
        }
        else
        {
            textBox1.Text = String.Join(Environment.NewLine, list2);             
        }
    }
}

同样的结果:

textBox1.Lines = list1.ToArray();

0 个答案:

没有答案