以下 LINQ 查询获取所有站的所有参数,每个站 (x.station) 都有 X 个参数 (x.parameters),我需要所有这些参数用于“结果”和“值”。由于这一行,一开始可能有点混乱: from x in selection.Parameters代表 x 个站,而不是 x 个参数。LINQ 查询: var selectionData = from x in selection.Parameters select new { Result = "(p.col_IdEstacion = " + x.Station + " and p.col_Sigla in(" + ("'" + string.Join("','", x.Parameters) + "'") + "))", Values = ( from y in x.Parameters select new KeyValuePair<string, string>( x.Station.ToString(), y)).ToList() };我这样做的原因是因为我想稍后在 KeyValuePair 列表中存储存储在“值”中的所有站中的所有参数: List<KeyValuePair<string, string>> myList更新:发现代码正在运行,我做错的是将“值”添加到列表中,它可能是 FirstOrDefault() 只需要第一个: values.AddRange(selectionData.Select(d => d.Values).FirstOrDefault());答案:发现存储使用 LINQ 检索到的所有值的正确方法是使用 SelectMany,如下所示:valores.AddRange(selectionData.SelectMany(d => d.Values))
2 回答
![?](http://img1.sycdn.imooc.com/54584e2c00010a2c02200220-100-100.jpg)
撒科打诨
TA贡献1934条经验 获得超2个赞
答案:发现存储使用 LINQ 检索到的所有值的正确方法是使用 SelectMany,如下所示:
valores.AddRange(selectionData.SelectMany(d => d.Values))
- 2 回答
- 0 关注
- 264 浏览
添加回答
举报
0/150
提交
取消