我知道我可以通過一個擴展名來做到這一點(我通過StringBuilder
這樣做),但我經常需要它,我覺得應該有更好的方法。假設我將名字和姓氏結合起來,其中任何一個都可能缺失(空或空,不關心),如果兩者都存在,我只需要一個空格。所以在C#中是否有一個優雅的/內置的方法來添加一個字符串連接器IFF兩個字符串的長度> 0?
return firstName + (!string.IsNullOrEmpty(firstName) && !string.IsNullOrEmpty(lastName) ? " " : string.Empty) + lastName;
給我Joe Smith
但從來沒有Joe[trailingspace]
或[leadingspace]Smith
。
顯然這是一個愚蠢的例子,但我在真實世界中不斷地做這個。任何更好的想法?
編輯:不建議String.Join。它不起作用。 (當然,除非你使用LINQ結合起來,如下面花錢做。)
'string.Concat(第一,空間,最後).Trim()' – 2012-04-25 00:56:19
@AnthonyPegram是的,這確實太,但我發現順序和加減邏輯有點不直觀。 – downwitch 2012-04-25 00:58:29
@AnonyPegram別的東西在困擾着我,但它花了一個真實的世界時刻才能看到它......只有當連接器是空間時纔有效。 – downwitch 2012-04-25 03:06:37