??空融合运算符 - >合并意味着什么?

时间:2009-04-20 21:31:32

标签: c# terminology coalesce null-coalescing-operator

我很想撒谎并说英语是我的第二语言,但事实是我只是不知道“合并”是什么意思。我知道C#中??'做了什么',但这个名字对我来说没有意义。

我查了一下这个词,我理解它是'join'的同义词。 “空加入运算符”仍然没有意义。

有人可以启发我吗?

7 个答案:

答案 0 :(得分:33)

  

我很想撒谎说英语是我的第二语言......但事实是我只是不知道“合并”是什么意思。我知道吗?在C#中“做”,但这个名字对我来说没有意义。

     

我查了一下这个词,我理解它是'join'的同义词。

我会说“合并”的更准确的描述是“从不同的元素形成一件事”。 ??运算符的“合并”发生是因为始终从两个值中的一个值解析单个值。第一个非空值是结果。

答案 1 :(得分:18)

合并是指当您有多个项目然后最终只有一个项目时 - 通过将项目连接在一起或从组中选择一个项目。对于 ?? 运算符,您将选择该对值的第一个非空值。

答案 2 :(得分:8)

以下是coalesce的其他一些定义,可能有帮助。 从Answers开始,它表明它意味着“共同成长;融合”或“聚集在一起形成一个整体”。换句话说,采取一系列项目,并从中产生一个。因此,考虑到此讨论中的null意味着“为空”,将null合并为非空会使您感到非空。

答案 3 :(得分:5)

含义取第一个非空值。

答案 4 :(得分:2)

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

我认为最好的定义是“团结一致”。所以基本上将它们全部拉到一起以获得最佳效果。在编程术语中,它更能获得第一个最好的项目。

答案 5 :(得分:1)

您可以从此YouTube视频http://www.youtube.com/watch?v=YJGGmTNHPeo

开始

如果你看到合并的英文含义就说“合并在一起”。 Coalescing运算符返回链中的第一个NON-NULL值。

例如下面是一个简单的合并代码,它链接四个字符串。如果“str1”为null,它将尝试“str2”,如果“str2”为null,它将尝试“str3”,依此类推,直到找到一个字符串具有非空值。

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

答案 6 :(得分:0)

Coalescing 单词源自拉丁语,意思是“连接在一起”。 特别是它在物理化学中表示一种现象,其中分散在另一种不混溶的液体中的小液滴趋向于与较大的液滴结合,形成较大的聚集体。这就是所谓的“凝聚”。

在C#上下文中,为了扩展,由于null coalescing operator,此“连接”发生在变量之间,但是结果值取决于以下事实:第一个操作数是否为null,如果为null,则返回结果值将是第二个操作数的值。