问题标签 [null-coalescing-operator]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 将 c# Null-Coalescing 运算符与 int 一起使用
我正在尝试在 int 上使用 null 合并运算符。当我在字符串上使用它时它可以工作
当我尝试在这样的 int 上使用它时
我收到此错误消息
操作员 '??' 不能应用于“int”和“int”类型的操作数
我发现这篇博客文章使用了http://davidhayden.com/blog/dave/archive/2006/07/05/NullCoalescingOperator.aspx和 int 数据类型。谁能告诉我做错了什么?
vb.net - VB.NET 空合并运算符?
可能的重复: VB.NET 中的
Coalesce 运算符和条件运算符
是否有 C# 的 VB.NET 等效项?操作员?
是否有等效于 C# 空合并运算符的内置 VB.NET?
php - PHP 中 C# 的空值合并运算符 (??)
PHP中是否有类似于??
C#的三元运算符之类的?
??
在 C# 中干净且更短,但在 PHP 中您必须执行以下操作:
c# - 有什么理由不使用空合并运算符进行延迟初始化?
问候我今天做了一些懒惰的初始化代码,并想为什么不使用 null-coalescing 运算符来执行此操作,它更短,但后来我想这样做是否有任何开销或额外成本。
下面是简化的示例代码,显示了用于延迟初始化的更常见的形式,然后是使用空合并运算符的形式。它们具有完全相同的结果,并且看起来相同。我的第一个想法是,在创建对象之后,现在使用??
. 这是否不是问题,编译器/JIT 会以某种方式对其进行优化,是否有更邪恶的事情发生,您永远不应该使用 进行延迟初始化??
,或者它是完全安全的,并且不会产生任何不好的 mojo。
c# - 空数组和 IEnumerable
上一个问题讨论了 IEnumerable 以及使用空集合而不是空值集合的约定。这是一个很好的做法,因为它消除了许多容易出错的空检查。
但答案并没有完全解决其中一种情况。很多时候我不得不处理空值,特别是当数组从外部方法返回时。一个例子:
我写了一个帮助方法,它确实在一定程度上提高了可读性。
导致:
我不介意这一点,但我正在寻找更好的想法。好像我正在添加一些应该已经存在的东西。
javascript - Javascript null 合并帮助,如何合并阈值?a = b || c 但如果 b > d,选择 c
我想为javascript中的变量赋值
有没有一种简单的方法可以做到这一点?
感谢您提供任何提示或建议。只是想尽可能干净地写这个。
c# - 将空合并运算符与比较一起使用
给定方法:
是否可以重写 if 语句以使其使用空合并运算符?
c# - 右侧的三元/空合并运算符和赋值表达式?
在 C# 中尝试使用三元和 null 合并运算符时,我发现可以在表达式的右侧使用赋值,例如,这是一个有效的 C# 代码:
奇怪的是,不仅表达式右侧的赋值被评估为它自己的右侧(意味着这里的第三行被评估为12
而不是类似的东西b = 12 => void
),而且这个赋值也有效地工作,所以在一个语句中分配两个变量。还可以使用此赋值右侧的任何可计算表达式以及任何可用变量。
这种行为在我看来很奇怪。if (a = 2)
我记得在 C++ 中使用而不是比较时遇到了麻烦if (a == 2)
,它总是被评估为true
,这是从 Basic/Haskell 切换到 C++ 后的常见错误。
它是记录在案的功能吗?它有什么名字吗?
c# - 如何让 Null Coalesce 运算符在 ASP.NET MVC Razor 中工作?
我有以下内容,但它失败了NullReferenceException
:
OneMonth
定义为
并且在失败时它的值为空。
我认为 Null Coalesce 运算符会测试它是否为 null,如果是,则将值返回到运算符的右侧?
我需要改变什么才能使这项工作?