2016-08-25 4 views
1

私は直面している問題を抱えています。私は2つのList<decimals>を持っていて、0.0567と4.67890のような本当に小さな値を含んでいます。次に、私の2番目のリストはList<decimals>で、エポックタイムスタンプがミリ秒単位で入っています。例:1472100900000,1472101200000,1472101500000等。そして、そのような種類のデータで、私はこのようなリストまたは配列を作りたいと思います。 (すなわち、array[] : [[1472100900000, 0.0567], [1472101200000, 4.67890], [1472101500000, 3.568]])など。そして最後にそれをHighchartに投げていいグラフを作ります。2つの小数点以下のリストを1つの配列に結合します。

これは私が既にlinqで試したものですが、値はお互いに後で設定されていないので、結果は私がしたいものではありません。

var combi2 = timeArray.SelectMany(x1 => valueArray, (x1, x2) => new[] { x1, x2 }); 
var combi3 = valueArray.SelectMany(x1 => timeArray, (x1, x2) => new { x1, x2 }).Select(x3 => new PerformanceGraphData { PerformanceTime = x3.x2.ToString(), PerformanceValue = x3.x1.ToString() }); 

誰かが私を助けてくれることを願っています。より多くの情報が必要な場合は、お気軽にお問い合わせください。 ありがとうございます。

敬具、

フェルナンド

+0

「Enumerable.Zip」メソッド。または1つはいつも 'for'ループを使うことができます – ASh

答えて

3

Zip拡張メソッドです。

timeArray.Zip(valueArray, (x1,y1) => new decimal[] {x1,y1}).ToArray(); 
+0

答えをありがとうございました:)今、私は小数点以下2桁の配列を持っています。 –

+0

あなたはそれぞれの文字列が '{x1、y1}'を表す 'string []'に出力しますか? –

0

のLINQのジップ方法は、あなたの方法である:

var graphData = timeArray.Zip(valueArray, 
         (x, y) => new PerformanceGraphData 
         { 
          PerformanceTime = x.ToString(), 
          PerformanceValue = y.ToString() 
         }).ToArray(); 

Docs

2つの シーケンスの対​​応する要素に指定された関数を適用結果のシーケンスを生成する。

関連する問題