我在已存在的列表之间切换显示,没有任何并行或前面的过程来创建它。我只需要通过切换文本框来显示完全独立的已存在列表,每个显示大小约为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();