我有類似下面的代碼添加?運營商導致最後消失。爲什麼LastName不顯示在C#字符串concat運算符下方
預期結果:是,如果第一爲null,則第一將通過「」和「取代」將與最後給剛剛最後作爲結果進行串連。
實際結果:發生了什麼是我得到的結果只是第一個。
var first = "Joe";
var last = "Smith"
var str1 = first + last; // gives "JoeSmith"
var str2 = first ?? "" + last // gives "Joe"
我不明白爲什麼你預計只有最後的名字被顯示。 [null-coalescing運算符](https://msdn.microsoft.com/en-us/library/ms173224.aspx)返回左側操作數(如果它不爲null),否則需要評估並返回右側手操作數。在你的例子中,「Joe」顯然不是null。 –
事實上,你可能想澄清第三句話 - 你的意思是「我認爲如果'first'爲空,它會只是姓'」? –
運算符優先級。 –