使用C#过滤集合

时间:2018-05-29 21:52:19

标签: c# linq syndication-feed

我目前正在使用SyndicationFeed从联合项目中提取图像。

每个项目都有一组链接。对于每个链接集合,我想要执行以下操作:

  1. 检查link.MediaType包含图片的第一个实例
  2. 如果是,则返回link.Uri else返回空字符串
  3. 我想做这样的事情:

    var imageLink = image.Links.First(where( s.mediaType contains "image" && s.mediaType != null))
    if (imageLink){
      string imageUrl = imageLink.Uri
    }
    

    目前我有很多if语句。我想知道是否有更清洁的方法来做到这一点。

1 个答案:

答案 0 :(得分:0)

这样的事情就是你想要的:

using System.Linq;

string GetUri(SyndicationFeed image)
{
    return image.Links.Where(link => link != null && link.Contains("image")).FirstOrDefault() ?? "";
}