[c#]字符串内 lambda 的条件

标签: Linq C#
发布时间: 2017/2/28 23:02:09
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有以下的 LINQ 表达式,需要连接字符串,但是,我只想要显示一个连字符,如果在按照后面的字符串值。例如,如果一个翼,且只有一层楼,我应仅显示东 3。我试图插入一些字符串。IsNullOrEmpty() 内的表达式,但编译器抱怨在 Select 关键字...

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

解决方法 1:

您可以使用 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()
赞助商