如果字符串值不为null或为空,则在字符串中添加“ |”

Shi*_*hra 3 c# linq

如果字符串不为null或为空,我想在3字符串中添加“ |”。

-> UserName | Phone | Email
Run Code Online (Sandbox Code Playgroud)

如果UserName为null,则 Phone | Email UserName和Email均为null字符串PhoneNumber

像这样的东西

var userName =string.IsNullOrEmpty(dir.UserName)?"": dir.UserName+ " | ";
var userEmail = string.IsNullOrEmpty(dir.UserEmail) ? "" : dir.UserEmail+ " | " ;
var userphone = string.IsNullOrEmpty(dir.UserPhoneNumber) ? "" :  dir.UserPhoneNumber;
var disply = userName + userEmail  + userphone;
Run Code Online (Sandbox Code Playgroud)

linq可以用更少的代码完成它吗?

Pat*_*ick 11

尝试这个:

string[] all = {dir.UserName, dir.UserPhoneNumber, dir.UserEmail};
string result = string.Join(" | ", all.Where(str => !string.IsNullOrEmpty(str)));
Run Code Online (Sandbox Code Playgroud)

  • 谢谢兄弟,效果很好。感谢您的帮助 (2认同)