«StringPlusNull» (Решение)

Ответ

False

Объяснение

Фрагмент из C# Language Specification, раздел 7.8.4 Addition operator:

«String concatenation:

string operator +(string x, string y);
string operator +(string x, object y);
string operator +(object x, string y);

These overloads of the binary + operator perform string concatenation. If an operand of string concatenation is null, an empty string is substituted. Otherwise, any non-string argument is converted to its string representation by invoking the virtual ToString method inherited from type object. If ToString returns null, an empty string is substituted.»

Другими словами, при строковых операциях null превращается в пустую строку. Таким образом:

((string)null + null + null) == ("" + null + null) ==
  (("" + null) + null) == (("" + "") + null) == ("" + null) ==
  ("" + "") == ""
"" != null

Ссылки

Задача

Last updated