我正在尝试Dictionary<String, Double>
从Dictionary<String, String>
. 为此,我使用IEnumrable<>.Where
so 子选择 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>
格式的原因是因为我有一个接受这种类型的方法,我需要将字典数据传递给它。
提前致谢!
类似问题:我的问题与以下类似:http://bit.ly/12qjrmE、http://bit.ly/YmuRHZ和 http://bit.ly/XLQNaB,除了我希望子查询返回字典类型为好。