关于c#:??

?? Null Coalescing Operator --> What does coalescing mean?

我很想撒谎,说英语是我的第二语言,但事实是我不知道"合并"是什么意思。我知道??在c中的作用,但这个名字对我来说不太有意义。

我查了这个词,我知道它是"加入"的同义词。空联接运算符"仍然没有意义。

有人能启发我吗?


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'.

我认为对"合并"更准确的描述是"从不同的元素形成一个东西"。??运算符的"合并"发生是因为一个值总是由两个值之一解析而来。结果是第一个非空值。


合并是指当您拥有多个项,然后通过将这些项合并在一起或从组中选择单个项,最终得到一个项。在这种情况下??operator,您正在选择一对值的第一个非空值。


这里还有一些其他的关于coalesce的定义,可能有助于理解。从答案中可以看出,它的意思是"一起成长;融合"或"聚在一起形成一个整体",换句话说,取一系列的项目并从中做出一个。因此,考虑到本讨论中的null意味着"空",将null与非空合并将给您非空。


意思是取第一个非空值。


http://www.merriam-webster.com/dictionary/coalesce

我认为最好的定义是"团结一致"。所以基本上,把所有的东西放在一起,得到最好的结果。在编程方面,它更多的是获得第一个最好的项目。


你可以从这个YouTube视频开始,http://www.youtube.com/watch?V= YJGGMTNHPEO

如果你看到合并的英文意思,它会说"合并在一起"。联合运算符返回链中的第一个非空值。

例如,下面是一个链接四个字符串的简单合并代码。因此,如果"str1"为空,它将尝试"str2";如果"str2"为空,它将尝试"str3"等等,直到它找到一个非空值的字符串。

1
string final =str1 ??  str2 ?? str3 ??


合并词源于拉丁语,意思是"连接在一起"的东西。特别是在物理化学中,它指的是一种现象,在这种现象中,分散在另一种不混溶液体中的小液滴趋向于与较大的液滴结合,形成较大的聚集物;这被称为"聚结"。

在C上下文中,对于扩展,由于null coalescing operator的存在,这种"连接"发生在变量之间,但结果值取决于第一个操作数是否为空,如果为空,则重新使用的值将是第二个操作数的值。