I have a class like this:
public class MailMessage
{
public string From {get; set; };
public string To {get; set; };
public ICollection<Attachment> Attachments { get; set; }
}
public class Attachment
{
public string Name {get; set;}
public byte[] Content {get;set;}
}
我希望获取附件集合中所有以“.pdf”结尾的附件。
我尝试了以下方法:
List<MailMessage> list = new List<MailMessage>();
List<attachment> pdfAttachmentsCollection = list.Where(x => x.Attachments
.Where(attachment =>
attachment.Name.EndsWith(".pdf")).Select(y => y.Content));
然而,这并不起作用。有什么建议吗?它会出现错误:
无法将类型'System.Collections.Generic.IEnumerable'隐式转换为'bool'
var pdfAttachmentsCollection = list.SelectMany(x => x.Attachments.Where(a => a.Name.ToLower().EndsWith(".pdf"))).ToList();
- Jimilist.SelectMany(x => x.Attachments)
开始。其余的是标准的Where
东西,你会很容易地解决的。Jim 的方法同样适用。 - mjwillsName.EndsWith(".pdf", StringComparison.InvariantCultureIgnoreCase)
- gregmac