Dictionary<String, Double>
からをサブ選択しようとしていDictionary<String, String>
ます。これを行うには、IEnumrable<>.Where
so sub-select a Dictionary<String, String>
(動作する) を使用してから、にキャストしますDictionary<String, Double>
(動作しません)。
私のコード:
//linesTable is an System.data.DataTable object
//...for loop code in here
DataRow row = linesTable.Rows[i]; //Where i is the loop index
Dictionary<String, String> valuesDictionary
= row.Table.Columns.Cast<DataColumn>().ToDictionary(
col => col.ColumnName,
col => row.Field<String>(col.ColumnName));
//ATTEMPT #1
/*Dictionary<String, Double> numericValues = valuesDictionary.Where(
subs =>
{
double doubleValue;
return double.TryParse(subs.Value, out doubleValue);
}).Cast<Dictionary<String, Double>>();*/
//ATTEMPT #2
Dictionary<String, Double> numericValues = valuesDictionary.Where(
subs => {
double doubleValue;
return double.TryParse(subs.Value, out doubleValue);
}
).ToDictionary<String, Double>(
pair => pair.Key,
pair => double.Parse(pair.Value));
私は何を間違っていますか?
形式でそれが必要な理由はDictionary<String, Double>
、辞書データを渡す必要があるこの型を受け取るメソッドがあるためです。
前もって感謝します!