2017-12-02 7 views
0

私はで塗りつぶされたDictionaryを持っています。各リストはを表します。Datatableです。私は辞書の特定のリストを反復しようとしていますが、オブジェクトを二重に変換できないと言って、私はiを追加しようとするとエラーが発生します。C#からオブジェクトへの変換

私は次のように辞書に追加します。

dict = dt.Columns.Cast<DataColumn>().ToDictionary(c => c.ColumnName, c => dt.AsEnumerable().Select(r => r[c]).ToList()); 

ここでエラーが発生します。

XyDataSeries<double,double> xyseries; 

private void chkbx1_Checked(object sender, RoutedEventArgs e) 
{ 
    var list = dict["ColumnName1"]; 

    foreach (var i in list) 
    { 
     Convert.ToDouble(i); 
     xyseries.Append(one++, i); 
    } 

} 
+2

どのようなエラーが表示されますか?あなたのデータには 'double '型だけが含まれていますか?それはnull値を含む可能性がありますか? –

+7

Convert.ToDouble *は変換されたdoubleを返します。場所は 'i'に変更されません。 –

+1

何をConvert.ToDouble(i)に変換しますか?これは、何らかの変数= Convert.ToDouble (i); 'と' i'は良いvar名ではありませんあなたのケースです。恐ろしい命名規則 – MethodMan

答えて

4

あなたの問題はここにある:Convert.ToDouble(i);

ToDoubledoubleを返し、それが二重にiは変更されません。次の操作を行う必要があります。

foreach (var i in list) 
{ 
    var d = Convert.ToDouble(i); 
    xyseries.Append(one++, d); 
} 
+0

ああ、私はばかみたいだと思う..ありがとう! – User9123

関連する問題