首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用LINQ(ToDictionary<Datetime)转换ToDictionary<Datetime,double>()时遇到的问题

使用LINQ(ToDictionary<Datetime)转换ToDictionary<Datetime,double>()时遇到的问题
EN

Stack Overflow用户
提问于 2010-05-20 06:37:33
回答 3查看 569关注 0票数 0

以下是我写的

代码语言:javascript
复制
return  (from p in returnObject.Portfolios.ToList()
         from childData in p.ChildData.ToList()
         from retuns in p.Returns.ToList()
         select new Dictionary<DateTime, double> ()
         { p.EndDate, retuns.Value }
).ToDictionary<DateTime,double>();

获取误差

没有重载方法'Add‘接受'1’参数

在我犯错误的地方

我正在使用C#3.0

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-05-20 06:42:07

好吧,您正在调用ToDictionary时,除了隐含的第一个参数之外,没有其他参数。您需要告诉它输入序列的哪一部分是键,哪个是值。您还试图为每个元素选择一个新的字典,我非常怀疑您是否想要这样做。试试这个:

代码语言:javascript
复制
var dictionary = (from p in returnObject.Portfolios.ToList()
                  from childData in p.ChildData.ToList()
                  from returns in p.Returns.ToList()
                  select new { p.EndDate, returns.Value })
                 .ToDictionary(x => x.EndDate, x => x.Value);

顺便问一下,你确定你需要打给ToList的所有电话吗?这似乎有点不寻常。

票数 2
EN

Stack Overflow用户

发布于 2010-05-20 06:46:27

试着:

代码语言:javascript
复制
return  (from p in returnObject.Portfolios
                             from childData in p.ChildData
                             from retuns in p.Returns
                             select new 
                             {p.EndDate, retuns.Value }).ToDictionary(d => d.EndDate , d=>                      
                             d.Value);

如果你在使用字典,你应该提到关键和价值。这不像一份名单。

如果它在一个列表中:

代码语言:javascript
复制
return  (from p in returnObject.Portfolios
                             from childData in p.ChildData
                             from retuns in p.Returns
                             select new 
                             {p.EndDate, retuns.Value }).ToList();
票数 1
EN

Stack Overflow用户

发布于 2010-05-20 06:40:33

而不是select new Dictionary<DateTime, double>,它应该是select new KeyValuePair<DateTime, double>(...)ToDictionary()应该被赋予两个委托来选择键和值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2871494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档