C# 加上「&引用;在字符串中,如果字符串值不是null或空
如果字符串不为null或空,我想在3个字符串中添加“|” 前 如果用户名为空,则C# 加上「&引用;在字符串中,如果字符串值不是null或空,c#,linq,C#,Linq,如果字符串不为null或空,我想在3个字符串中添加“|” 前 如果用户名为空,则Phone | Email 如果用户名和电子邮件都是空字符串,则仅包含电话号码 像这样的东西 var userName =string.IsNullOrEmpty(dir.UserName)?"": dir.UserName+ " | "; var userEmail = string.IsNullOrEmpty(dir.UserEmail) ? "" : dir.UserEmail+ " | " ; var use
Phone | Email
如果用户名和电子邮件都是空字符串,则仅包含电话号码
像这样的东西
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;
linq可以用更少的代码来完成它。试试这个:
string[] all = {dir.UserName, dir.UserPhoneNumber, dir.UserEmail};
string result = string.Join(" | ", all.Where(str => !string.IsNullOrEmpty(str)));
我的想法如下: 将三个字符串存储在数组中后: 1.检查用户名是否是唯一不为null的字符串 -如果是,则只打印它,否则继续2
旁注:这将需要更多的代码行,但它的可读性更高,代码更简单。谢谢兄弟,它的工作很好。谢谢你的帮助
string[] all = {dir.UserName, dir.UserPhoneNumber, dir.UserEmail};
string result = string.Join(" | ", all.Where(str => !string.IsNullOrEmpty(str)));