在我的代码中,FirstName 和 LastName 总是有值,但 MiddleName 并不总是有值,所以我的问题是如何最好地创建一个连接三个变量的附加字符串,但如果 MiddleName 没有值,则不包括 MiddleName。
到目前为止,这是我的代码,但这太冗长了,我知道可以简化。
if (newContributor.MiddleName == "")
{
newContributor.Url =
newContributor.FirstName.Replace(" ", "-").ToLower() + "-" +
newContributor.LastName.Replace(" ", "-").ToLower();
}
else
{
newContributor.Url =
newContributor.FirstName.Replace(" ", "-").ToLower() + "-" +
newContributor.MiddleName.Replace(" ", "-").ToLower() + "-" +
newContributor.LastName.Replace(" ", "-").ToLower();
}
Run Code Online (Sandbox Code Playgroud)
大家有什么建议?
谢谢!
string[] parts = { firstName, middleName, lastName };
url = string.Join('-', parts.Where(p => !string.IsNullOrWhitespace(p)))
.ToLower()
.Replace(' ', '-');
Run Code Online (Sandbox Code Playgroud)
您可以做出 1 条声明,但这不太可读。
此外,您可能需要处理所有其他“无效”字符
url = System.Web.HttpUtility.UrlEncode(url);
Run Code Online (Sandbox Code Playgroud)