In C# 6.0, string interpolations are added.
string myString = $"Value is {someValue}";
How are null values handled in the above example? (if someValue
is null)
EDIT: Just to clarify, I have tested and am aware that it didn't fail, the question was opened to identify whether there are any cases to be aware of, where I'd have to check for nulls before using string interpolation.
Null is a built-in constant that has a value of zero. It is the same as the character 0 used to terminate strings in C. Null can also be the value of a pointer, which is the same as zero unless the CPU supports a special bit pattern for a null pointer.
The null character is often represented as the escape sequence \0 in source code , string literals or character constants.
No, but zero is always NULL .
The Null character in the C programming language is used to terminate the character strings. In other words, the Null character is used to represent the end of the string or end of an array or other concepts in C. The end of the character string or the NULL byte is represented by '0' or '\0' or simply NULL.
That's just the same as string.Format("Value is {0}", someValue)
which will check for a null
reference and replace it with an empty string. It will however throw an exception if you actually pass null
like this string.Format("Value is {0}", null)
. However in the case of $"Value is {null}"
that null
is set to an argument first and will not throw.
From TryRoslyn, it's decompiled as;
string arg = null; string.Format("Value is {0}", arg);
and String.Format
will use empty string for null
values. In The Format method in brief section;
If the value of the argument is
null
, the format item is replaced withString.Empty
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With