![](/img/trans.png)
[英]Devexpress Chartcontrol Series selection (and take a serie value )
[英]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.