I'm tempted to lie and say that English is my second language, but the truth is that I just have no idea what 'Coalescing' means. I know what ??
'does' in C#, but the name doesn't make sense to me.
I looked up the word and I understand it to be a synonym for 'join'. 'Null Join Operator' still doesn't make sense.
Can someone enlighten me?
Here are some other definitions of
coalesce
that might help make sense. From Answers, it shows that it means to "grow together; fuse" or "to come together so as to form one whole." In other words, take a sequence of items and make one out of them. So considering thatnull
in this discussion means "empty," coalescingnull
with a non-empty gives you the non-empty.Meaning take the first non-null value.
http://www.merriam-webster.com/dictionary/coalesce
I think the best definition is the "unite for a common end". So basically pulling it all together to get the best. In programming terms it's more getting the first best item.
I'd say a more accurate description of "coalesce" would be "to form one thing from different elements". The "coalescing" of the
??
operator happens because a single value is always resolved from one of the two values. The first non-null value is the result.You can start from this youtube video http://www.youtube.com/watch?v=YJGGmTNHPeo
If you see the English meaning of coalescing it says “consolidate together”. Coalescing operator returns the first NON-NULL value from a chain.
For example below is a simple coalescing code which chains four strings.So if “str1” is null it will try “str2” , if “str2” is null it will try “str3” and so on until it finds a string with a non-null value.
Coalescing is when you have more than one item and then you end up with exactly one—either by joining the items together or by choosing a single item from the group. In the case of the ?? operator, you're choosing the first non-null value of the pair of values.