List<PageInfo> subPages = new List<PageInfo>();
// ...
// some code to populate subPages here...
// ...
List<Guid> subPageGuids = new List<Guid> {from x in subPages select x.Id}; //doesn't work
Run Code Online (Sandbox Code Playgroud)
PageInfo有一个ID字段,类型为Guid.所以x.Id是一个System.Guid.
上面第二行代码不起作用......我收到错误:
集合初始化程序的最佳重载Add方法'System.Collections.Generic.List.Add(System.Guid)'有一些无效的参数
和
参数'1':无法从'System.Collections.Generic.IEnumerable'转换为'System.Guid'
我只用C#编写了大约一个星期,但我之前做过类似的模式,从来没有遇到过这个问题.
我想你想要:
List<Guid> subPageGuids = new List<Guid>(from x in subPages select x.Id);
Run Code Online (Sandbox Code Playgroud)
(注意花括号改为常规括号)
这将调用List的构造函数,该构造函数将IEnumerable(这是linq查询返回的内容)作为参数.现在,您正在尝试使用对象初始值设定项的语法.
| 归档时间: |
|
| 查看次数: |
5167 次 |
| 最近记录: |