问题标签 [null-coalescing]
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.
python - python中dict条目的空值合并
所以,我知道,在 Python 中我可以这样做:
...并且将分配'something else'
给variable_name
ifother_variable
是假的,否则将other_variable
值分配给variable
.
我可以用 dict 做一个简洁的类似的事情吗:
...或者不存在的键名总是会引发错误,导致它失败?
dart - 缺少 Dart 空值检查速记?
我知道 Dart 有空检查速记
和
但是如果我有这样的声明怎么办
我不想传递null
给SomeClass
构造函数 - 所以在那种情况下我想x
设置为z
(在我的具体情况下z
恰好是null
)。
我不知道在这种情况下如何/是否可以使用任何速记,或者我是否坚持直接空检查。
c# - Null-coalescing out 参数给出意外警告
使用此构造:
我收到一条错误消息,说CS0165 use of unassigned local variable 'value'
这不是我所期望的。怎么value
可能是未定义的?如果字典为 null,则内部语句将返回false
,这将使外部语句评估为 false,返回Default
.
我在这里想念什么?仅仅是编译器无法完全评估该语句吗?还是我以某种方式搞砸了?
javascript - 在 vue.js 中绑定时如何有效地显示文本而不是 null?
在下面的代码site
中可以为null,但如果存在,则company
不会为null。当这些行中的 1000 行可以很好地扩展为 null时,如何有效地显示“-” ?site
我可以做一个方法来做到这一点:
但如果可以内联或使用过滤器会更好。
c# - ?? 或 .GetValueOrDefault()
我有属性类型int?
,decimal?
并且正在计算中使用。如果其中任何一个的值为 null,则它必须默认为 0。我正在尝试在使用 null-coalescing 或GetValueOrDefault()
如果值为null
. 哪种方法在可读性和性能方面会更好(如果有任何明显的差异)?
第一的:
第二:
c# - c# if not null then assign value的简写
现在 c# 中是否有任何简写可以减少以下代码:
在这种情况下,如果 testVar1 从 CheckObject() 结果中不为空,则只想分配 testVar2(testVar2 有一个将触发代码的设置器)。试图思考如何使用空合并的东西,但没有真正解决。
添加到这个 testVar2 的 setter 上有代码可以触发,所以如果值为 null,不希望 testVar2 被设置为任何值。
c# - 初始化属性、if 中的 null 检查或合并哪个更有效?
我一直在努力使一些代码更高效,现在我想知道哪种模式更高效。由于遗留原因,该解决方案在 VB.NET 和 C# 中都有代码。
我已经放入了我们拥有的两种方法的 VB 和 C# 版本。
这个想法是,如果Foo
属性被访问并且_foo
为空,那么它将被设置为一个新对象,并且任何后续请求都将访问同一个对象,而不是每次都创建一个新对象。
我知道编译器和 JIT 在引擎盖下做了一些聪明的事情,但我不确定哪种方式更有效。
选项 1:合并价值。Visual Studio 一直在推荐一些地方的合并,所以这让我觉得这个操作已经很优化了。但是,_foo
每次我们获得Foo
选项 2 时都会分配给:进行比较,_foo
然后null
仅_foo
在需要时分配给。
我敢肯定两者在速度上几乎没有任何区别,但我很好奇这些在低得多的水平上是如何处理的
python - Python中的多参数空合并和内置“或”函数
Python 有一个很好的 null 合并语法:
这设置c
为a
if a
is not False
, None
, empty, 或0
, elsec
设置为b
。
(是的,从技术上讲,这不是空合并,它更像是bool
合并,但对于这个问题来说它已经足够接近了。)
对于对象集合没有明显的方法来执行此操作,因此我编写了一个函数来执行此操作:
这行得通,但写我自己的or_func
似乎不是最理想的——肯定有一个内置的 like __or__
?我尝试使用object.__or__
and operator.__or__
,但第一个给出 an AttributeError
,第二个指的是按位|
(或)运算符。
结果我有两个问题:
- 是否有一个类似的内置函数
a or b
? - 是否有这种空合并函数的内置实现?
两者的答案似乎是否定的,但这对我来说有点令人惊讶。