次のようなコードが追加されました。オペレータがの最後のを表示させます。LastNameがC#の文字列連結演算子で表示されないのはなぜですか?
期待される結果:は最初がNULLだった場合最初が「により」とすることを「置換されるというものであった」最後が結果としてちょうど最後を与えると連接されるだろう。
実際の結果:私が得た結果はちょうどの最初のでした。
var first = "Joe";
var last = "Smith"
var str1 = first + last; // gives "JoeSmith"
var str2 = first ?? "" + last // gives "Joe"
が、私は理解していない返す
null
ではありません。 [null-coalescing operator](https://msdn.microsoft.com/en-us/library/ms173224.aspx)は、NULLでない場合は左側のオペランドを返し、そうでない場合は、右側のオペランドを評価して返す必要がありますハンドオペランド。あなたの例では '' Joe ''は明らかにnullではありません。 –確かに、3番目の文を明確にしたいと思うかもしれません - 「最初のものがヌルであれば、それは最後の名前だと思ったのですか? –
オペレータの優先順位。 –