簡體   English   中英

如何將字符串數組添加到chartcontrol系列

[英]How to add string array into chartcontrol series

我有這些數組:

string[] Line1= data[3].ToString().Split(' ');
string[] Line2= data[4].ToString().Split(' ');

字符串數組僅包含整數值。 數據如-20 -30 -12 0 10 20 30等。

現在想將lineNeg1這些值添加到Devexpress Chart Control Series中,而無需循環。

目前,一切正常,但是由於循環,系統變得太慢。 代碼示例在下面:

        for (int i = 0; i < Line1.Length; i++)
        {
            int y = int.Parse(Line1[i]);
            SeriesPoint pt = new SeriesPoint(i, y);
            chartControl1.Series[0].Points.Add(pt);
        }

有什么辦法可以執行以下操作: Add string array to series without using loop

可能像: series[0].addrange[Line1] <- Maybe this kind of something option is available

我知道狀態是錯誤的,但仍然只是想對我正在尋找的東西有所了解。

您可以使用Linq:

int[] ints = Line1.Select(x => int.Parse(x)).ToArray();

它仍然是一個for循環,但現在已隱藏! 編譯器需要將字符串一一轉換為int,因為它們是根本不同的東西,並且存儲方式也完全不同。 字符串是對象,而整數是本機類型。 不幸的是,這與Javascript或PHP不能實時轉換字符串和整數一樣。 因此,這對您沒有多大幫助,只是語義糖。

現在,就添加系列而言,可能的問題在於,每添加一個點,圖表就會重新繪制一次。 您是否嘗試過像這樣的代碼:

chartControl1.SuspendLayout();
for (int i = 0; i < Line1.Length; i++)
    {
        int y = int.Parse(Line1[i]);
        SeriesPoint pt = new SeriesPoint(i, y);
        chartControl1.Series[0].Points.Add(pt);
    }
chartControl1.ResumeLayout();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM