null-coalescing-operator相关内容

PHP三元运算符与空合并运算符

谁能解释一下三元运算符简写 (?:) 和空合并操作符 (??) 在 PHP? 他们什么时候表现不同,什么时候表现相同(如果这种情况发生的话)? $a ?: $b VS. $a ??$b 解决方案 当你的第一个参数为空时,除了空合并不会输出E_NOTICE有一个未定义的变量.PHP 7.0 迁移文档 有话要说: 已添加空合并运算符 (??) 作为语法糖对于需要结合使用三元的常见 ..
发布时间:2022-01-30 12:03:51 PHP

C# 空合并 (??) 运算符的运算符优先级是什么?

我刚刚尝试了以下方法,想法是连接两个字符串,用空字符串替换空字符串. string a="Hello";字符串 b="世界"; -- 调试(有趣的是?是打印,不完全有助于可读性...) ?一个 ??"" + b ??“" ->“你好" 正确的是: ?(a??"")+(b??"")“你好世界" 我有点期待“Hello World",或者如果 a 为空,则只是“World".显然, ..
发布时间:2022-01-06 22:57:20 C#/.NET

C# 空合并运算符等效于 C++

是否有 C# 空合并运算符的 C++ 等效项?我在我的代码中做了太多的空检查.所以一直在寻找一种方法来减少空代码的数量. 解决方案 在 C++ 中默认没有办法做到这一点,但你可以写一个: 在 C# 中 ??运算符定义为 a ??b === (a != null ? a : b) 所以,C++ 方法看起来像 Coalesce(a, b)//放入你自己的类型,或者制作一个模板{返回 ..
发布时间:2022-01-06 22:49:37 C#/.NET

使用空合并运算符的独特方法

我知道在 C# 中使用 null 合并运算符的标准方法是设置默认值值. string nobody = null;字符串有人=“鲍勃萨吉特";字符串任何人=“";任何人 = 没有人?"先生";//返回 T 先生任何人 = 某人 ??"先生";//返回“Bob Saget"; 但是??还能用来做什么?除了更简洁和更容易阅读: nobody = null;任何人 = 没有人 == 空?“鲍勃·萨 ..

F# 中的空合并运算符?

在与 C# 库交互时,我发现自己需要 C# 的空合并运算符,用于 Nullable 结构和引用类型. 是否可以在 F# 中使用单个重载运算符来近似此操作,该运算符内联适当的 if 情况? 解决方案 是的, 使用在此SO 答案中发现的一些小技巧"F# 中的重载运算符". 在编译时使用 ('a Nullable, 'a) ->'a 或 ('a when 'a:null, 'a) 的 ..
发布时间:2022-01-05 09:38:08 其他开发

奇怪的运算符优先级 ??(空合并运算符)

最近我遇到了一个奇怪的错误,我将一个字符串与一个 int? 连接起来,然后在此之后添加另一个字符串. 我的代码基本上是这样的: int?x=10;字符串 s = "foo" + x ??0 + "条"; 令人惊讶的是,这将在没有警告或不兼容的类型错误的情况下运行和编译,就像这样: int?x=10;字符串 s = "foo" + x ??"0" + "bar"; 然后这会导致意外的类 ..
发布时间:2021-12-25 13:17:21 C#/.NET

PHP的合并函数?

许多编程语言都有合并函数(返回第一个非 NULL 值,示例).遗憾的是,2009 年的 PHP 没有. 在 PHP 本身获得合并函数之前,在 PHP 中实现它的好方法是什么? 解决方案 php 5.3 中有一个新的操作符可以做到这一点:?: //A回声“A"?:“B";//乙回声''?:'B';//乙回声假?:'B';//乙回声空?:'B'; 来源:http://www.php. ..
发布时间:2021-12-20 15:49:47 PHP

检查空值的正确方法是什么?

我喜欢空合并运算符,因为它可以轻松地为可空类型分配默认值. int y = x ??-1; 那太好了,除非我需要用 x 做一些简单的事情.例如,如果我想检查 Session,那么我通常最终不得不写一些更详细的东西. 我希望我能做到这一点: string y = Session["key"].ToString() ??“没有任何"; 但是你不能,因为 .ToString() 在空检查 ..
发布时间:2021-12-15 21:19:47 C#/.NET

我如何滥用空合并运算符?这是评估“空"吗?正确吗?

我试图在 Unity 的 C# 脚本中使用空合并运算符,我的项目脚本运行时设置为 .NET 4.x,因此它应该可以正常工作. 问题是,即使左操作数的计算结果为空,它也没有正确返回右操作数. 这是一个示例语句,当左操作数返回 null 时 不起作用: m_meshFilter = ( GetMeshFilter() ?? AddMeshFilter() ); 这是相同的精确语句,除了 ..
发布时间:2021-12-11 16:49:04 C#/.NET

Powershell 中的空值合并

powershell 中是否有空合并运算符? 我希望能够在 powershell 中执行这些 c# 命令: var s = myval ??“新价值";var x = myval == null ?"" : 其他值; 解决方案 Powershell 7+ Powershell 7 在 Powershell 中引入了原生空值合并、空值条件赋值和三元运算符. 空合并 $nul ..
发布时间:2021-12-08 08:25:15 其他开发

C# 的 '??' 是否有 VB.NET 等价物操作员?

是否有与 C# 的 ?? 运算符等效的 VB.NET? 解决方案 使用带有两个参数的 If() 运算符 (微软文档): ' 变量首先是一个可以为空的类型.先变暗?作为整数 = 3Dim second As Integer = 6' 变量优先 什么都没有,所以它的值 3 被返回.Console.WriteLine(If(first, second))第二 = 没有' 变量优先 什么 ..
发布时间:2021-12-06 10:01:20 其他开发

PHP 三元运算符与空合并运算符

谁能解释一下 PHP 中三元运算符简写 (?:) 和空合并运算符 (??) 之间的区别? 他们什么时候表现不同,什么时候表现相同(如果发生的话)? $a ?: $b VS. $a ??$b 解决方案 当你的第一个参数为空时,它们基本上是一样的,除了空合并不会输出 E_NOTICE 当你有一个未定义的变量.PHP 7.0 迁移文档 是这样说的: 空合并运算符 (??) 已添加为 ..
发布时间:2021-12-01 11:12:07 PHP

C#中两个问号放在一起是什么意思?

跑过这行代码: FormsAuth = formsAuth ??新的 FormsAuthenticationWrapper(); 这两个问号是什么意思,是某种三元运算符吗?很难在 Google 中查找. 解决方案 它是空合并运算符,非常类似于三元 (immediate-if) 运算符.另请参阅 ??运营商 - MSDN. FormsAuth = formsAuth ??新的 Form ..
发布时间:2021-12-01 09:45:51 C#/.NET

双问号('??')与是否在分配相同变量时

请参阅以下 SE答案. 写作时 A = A ??B; 与 相同 if(null!= A)A = A;别的A = B; 那是不是 if(null == A)A = B; 在性能方面会更受欢迎吗? 还是我可以假设当同一对象位于 ?? 表示法中时,编译器会优化代码吗? 解决方案 尽管 ?? 的性能可以忽略不计,但有时副作用却可以忽略不计.请考虑以下程序. ..
发布时间:2021-04-23 20:07:01 C#/.NET

在C#中,双重问号有什么作用?

可能的重复项: ?空合并运算符->合并是什么意思? 两个问号在C#中在一起意味着什么? 我在这里找不到这个问题,所以我想问一下.双重问号在C#中起什么作用? 示例: x = y ??z; 解决方案 这是一个空合并运算符.上面的方法指出x分配了y的值,除非y为null,在这种情况下,它分配了z的值. ..
发布时间:2021-04-18 19:24:28 C#/.NET