我有一个像这样定义的List:
public List<string> AttachmentURLS;
Run Code Online (Sandbox Code Playgroud)
我正在向列表添加项目,如下所示:
instruction.AttachmentURLS = curItem.Attributes["ows_Attachments"].Value.Split(';').ToList().Where(Attachment => !String.IsNullOrEmpty(Attachment));
Run Code Online (Sandbox Code Playgroud)
但我收到此错误:无法隐式将IEnumerable转换为List
我究竟做错了什么?
smo*_*oak 40
Where方法返回一个IEnumerable<T>.尝试添加
.ToList()
Run Code Online (Sandbox Code Playgroud)
到底如此:
instruction.AttachmentURLS = curItem.Attributes["ows_Attachments"]
.Value.Split(';').ToList()
.Where(Attachment => !String.IsNullOrEmpty(Attachment))
.ToList();
Run Code Online (Sandbox Code Playgroud)
.ToList()像这样移动到最后
instruction.AttachmentURLS = curItem
.Attributes["ows_Attachments"]
.Value
.Split(';')
.Where(Attachment => !String.IsNullOrEmpty(Attachment))
.ToList();
Run Code Online (Sandbox Code Playgroud)
Where扩展方法返回IEnumerable<string>并将Where在数组上工作,因此在ToList之后不需要Split.