为什么这段代码这么慢?

时间:2013-11-14 10:59:56

标签: c# optimization richtextbox performance

我写了一个与股票报价一起工作的程序 - 接收市场数据,转换它并在富文本框中显示。

为什么我的方法将数据写入richtextbox这么慢?

此代码不计算任何内容 - 只显示属性值。

此方法执行1到15秒......

public List <Svecha> spisoksvechek
public RichTextBox LogWind
public RichTextBox LogWind2

public void otrisovatSvechi()
{
    // this make an async work for code
    this.GuiAsync(() =>
    {
        // очищаем поля для вывода
        LogWind.Document.Blocks.Clear();
        LogWind2.Document.Blocks.Clear();

        //для каждой свечки в списке свечек
        foreach (Svecha sv in spisokSvechek)
        {
            // если количество сделок в свечке больше 0
            if (sv.sdelkiSvechi.Count > 0)
            {
                // выводим на поле1 начальное время свечи
                LogWind.AppendText(System.Environment.NewLine + sv.startCandleTime.ToString());

                // выводим на поле2 начальное время свечи
                LogWind2.AppendText(System.Environment.NewLine + sv.startCandleTime.ToString());

                // выводим на поле1 оборот свечи и дельту свечи
                LogWind.AppendText(System.Environment.NewLine + sv.volumeSvechi.ToString() + " x " + sv.deltaSvechi.ToString());

                // для каждого кластера в списке кластеров свечи
                foreach (var cl in sv.clusteruSvechi)
                {
                    // выводим на поле2 максимальную цену, минимальную цену, оборот и дельту кластера
                    LogWind2.AppendText(System.Environment.NewLine + cl.minPrice.ToString() + " - " + cl.maxPrice.ToString() + "  " + cl.clusterVolume.ToString() + " x " + cl.delta.ToString());
                }

            }
        }

    });

}

0 个答案:

没有答案