lambda内部的字符串条件

本文关键字:条件 字符串 内部 lambda | 更新日期: 2023-09-27 18:29:11

我有下面的LINQ表达式,需要在其中连接字符串,但是,如果后面的字符串中有值,我只想显示连字符。例如,如果只有一个Wing和一个Floor,我应该只显示East-3。我试着插入一些绳子。表达式中的IsNullOrEmpty(),但编译器在Select关键字处抱怨。。。

param.Patient.PatientGroups.Select(g => g.Wing + "-" + g.Floor + "-" + g.Room + "-" + g.Bed + "-" + g.Table).FirstOrDefault()

lambda内部的字符串条件

您可以使用string.Join,但必须首先将字段转换为数组:

param.Patient.PatientGroups
    .Select( g => String.Join( "-"
                             , (new string[] { g.Wing, g.Floor, g.Room, g.Bed, g.Table })
                               .Where(x => !string.IsNullOrEmpty(x))
                             )
           ).FirstOrDefault()