问题标签 [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.
javascript - JavaScript 中是否有“空值合并”运算符?
Javascript中是否有空合并运算符?
例如,在 C# 中,我可以这样做:
我可以为 Javascript 找出的最佳近似值是使用条件运算符:
恕我直言,这有点恶心。我能做得更好吗?
c# - 您如何看待 C# 中的 ??= 运算符?
你认为 C# 会支持 ??= 运算符吗?
而不是这个:
或许可以写成:
现在,我可以使用(但在我看来不太可读):
c# - IEnumerable空合并扩展
IEnumerable<T>
在通过 foreach 或 LINQ 查询迭代它之前,我经常遇到检查 an 是否为 null 的问题,然后我经常遇到这样的代码:
因此,我想将此扩展方法添加到扩展类中:
看到这段代码,我立刻想到了一个小问题,即,鉴于扩展方法的“实例方法方面”,它应该作为一个静态方法来实现,否则这样的事情将是完全合法的:
您在使用它时看到任何其他缺点吗?
如果大量使用,这种扩展是否会导致开发人员出现某种不良趋势?
奖金问题:
你能给它推荐一个更好的名字吗? :)
(英语不是我的母语,那我的命名不太好……)
提前致谢。
c# - C# 合并运算符不会替换 null 方法返回值?
我有这个代码:
这是方法:
所以FirstOrDefault()
在实体框架上下文中没有找到命中,即“ctx”对象。所以要返回的“默认”值是null
,因为查询的目标是一个类。
使用 , 的第一位代码的??
结果_localMyClass
是什么?我会说这将是new MyClass()
. 相反,_localMyClass
最终为空。我尝试用各种括号对逻辑进行分组,但仍然没有运气。
更奇怪的是;当我设置调试断点并将 复制/粘贴MyClassDAO.GetMyClassByID(123) ?? new MyClass()
到 Visual Studio 的监视屏幕中时,结果是new MyClass()
而不是null
.
谁能解释为什么它会以这种方式工作?为什么它不将方法返回值识别为null
然后使用该new
部分?
postgresql - Postgresql COALESCE 性能问题
我在 Postgresql 中有这张表:
my_table 中有 ~50000 行。
问题是,为什么要查询:
比这个慢:
除了优化应用层中的查询字符串之外,还有什么解决方案吗?
编辑:实际上,问题是如何重写查询select * from my_table where id=coalesce(?, id) and value=?
以使最坏情况下的性能不低于select * from my_table where value=?
Postgresql 9.0中的性能
c# - 检查空字符串属性的函数?
我有一个具有string
属性的对象,例如,一个具有重量和高度的患者对象。
但是当属性为空时,当我尝试使用它时,我的代码会失败,因为属性设置为空。我正在尝试创建一个函数来检查字符串/属性是否为空,如果是,请将属性设置为""
.
我知道我可以这样做:
但是我需要代码尽可能的干净,而且我有很多属性,所以我不想手动检查每一个。理想情况下,我希望有一个可以获取字符串的函数(即使它为空也不会失败),并且如果它不为空则简单地返回值,或者""
如果它为空则返回一个值。
谁能给我一个线索?
c# - 将空合并运算符与比较一起使用
给定方法:
是否可以重写 if 语句以使其使用空合并运算符?
c# - C# 合并运算符抛出
我有一个带有字符串属性的类。我在读取它时使用了合并运算符,因为它可能为空,但它仍然给我一个 NullRefrenceExeption。
更具体地说,它的“.ParentSection”是空的,是不是因为它甚至没有“.name”?如果是这种情况,我应该先用 if 块测试“.ParentSection”吗?
我认为 Coalesce 运算符有一些我不明白的地方,希望有人能解释一下这里出了什么问题。
mysql - 如果未找到单行,则返回默认值
我有以下选择语句来获取流的下一个预定项目。如果没有匹配的行,我希望它返回一个默认值。这是我正在使用的 SQL:
这应该抓取最近安排的项目,但如果它在查询前 30 分钟以上则不会。
但是,如果用户没有安排任何事情,我想要一个默认值,以便在流上实际播放一些东西。我尝试了以下方法:
和
但是,如果没有找到任何行,它总是返回一个空结果。我怎样才能返回一个默认值呢?