我知道我可以通过扩展来做到这一点(我用 这样做StringBuilder
),但只要我需要它,我觉得必须有更好的方法。假设我正在组合名字和姓氏,其中任何一个都可能丢失(null 或空,不在乎),如果两者都存在,我只想要一个空格。所以
return firstName + (!string.IsNullOrEmpty(firstName) && !string.IsNullOrEmpty(lastName) ? " " : string.Empty) + lastName;
给我Joe Smith
,但从来没有Joe[trailingspace]
or [leadingspace]Smith
。
显然这是一个愚蠢的例子,但我在现实世界中经常这样做。有更好的想法吗?
编辑:不要建议 String.Join。它不起作用。(好吧,除非你将它与 LINQ 结合起来,就像下面的花费者所做的那样。)