用于检查 null 或空的 Linq Lambda 表达式

use*_*470 3 c# linq lambda

我对 Linq 和 Lambda 表达式不熟悉,我想更改这段代码:

    if (string.IsNullOrEmpty(model.PictureUrl1) && string.IsNullOrEmpty(model.Picture2Url) &&
        string.IsNullOrEmpty(model.Picture3Url) && string.IsNullOrEmpty(model.Picture4Url) &&
        string.IsNullOrEmpty(model.Picture5Url) && string.IsNullOrEmpty(model.Picture6Url))
        return Content("");
Run Code Online (Sandbox Code Playgroud)

现在我重构了该模型,使其具有具有这些属性的对象以及所述对象的列表:

public class PublicInfoModelItem 
{
    public string PictureUrl { get; set; }
    public string Text { get; set; }
    public string Link { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

以及清单:

public List<PublicInfoModelItem> ListOfImages = new List<PublicInfoModelItem>();
Run Code Online (Sandbox Code Playgroud)

模型:

public class PublicInfoModel 
{
    public List<PublicInfoModelItem> ListOfImages = new List<PublicInfoModelItem>();

    public string Container { get; set; }

    public int TemplateId { get; set; }

    public PublicInfoModelItem InfoModelItem { get; set; }

}
Run Code Online (Sandbox Code Playgroud)

我正在考虑 Lambda 表达式,例如:

    var result = model.ListOfImages.Where(x => string.IsNullOrEmpty(x.PictureUrl)).ToList();
    if (result == null)
    {
        return Content("");
    }
Run Code Online (Sandbox Code Playgroud)

不知道上面的表述是否正确或者是否可以改进。

Bre*_*ett 5

我想你想使用 Any:

if (!model.ListOfImages.Any(x => string.IsNullOrEmpty(x.PictureUrl)))
{
    return Content("");
}
Run Code Online (Sandbox Code Playgroud)