问题标签 [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.

0 投票
2 回答
1167 浏览

c# - ASP.NET MVC / C# - 空合并运算符,类型

我正在尝试在我的页面上创建分页。用户可以选择每页显示的项目数,然后将首选大小保存为 cookie。但是当我尝试在查询字符串参数和cookie之间进行选择时,出现了错误:

是什么导致了这个错误?如何解决?

0 投票
4 回答
389 浏览

c# - Using null-coalescing as a replacement for try catch block

How come I get an invalid cast exception when trying to set a NULL value returned from the database inside Comments which is of type Int32.

I am trying to replace this:

With this:

The two are in different contexts, but you should get the idea. Instead of using a try catch block I am trying to solve this in a more elegant way.

Thanks.

UPDATE

It is stored as a nullable integer in the database.

I just want to thank everyone who answered or posted on this question, everything was very informative. thanks!

0 投票
2 回答
677 浏览

c# - 给出指定强制转换的空合并运算符对短整数无效

有谁知道为什么最后一个不起作用?

0 投票
6 回答
433 浏览

c# - C# 3.5 中 '??' 运算符的奇怪行为

这是一个错误还是我解释'??'-操作员错了?查看下面的 get 属性和评论。

我正在使用 C# .NET 3.5

编辑:对于刚问到这个问题时看到这个问题的每个人,很抱歉,其中的一些错误让每个人都感到困惑。

感谢所有伟大而快速的反馈!我现在已经理解我犯的错误了。谢谢!

0 投票
1 回答
133 浏览

xna - 操作员 ??在 if 语句内的 XNA 4 中合并 null

如何在此文本下修复我的代码?

错误:

如果它为空,我希望创建新的 puncts 并将第一个元素添加到其列表中。我可以使用运算符吗???如何 if语句中使用它?

0 投票
4 回答
960 浏览

c# - Null-Coalescing 运算符结果的隐式转换

对 C# 中的空合并运算符 (??) 有了以下理解。

而根据定义和用法,案例 I 和案例 II 是相同的。

令人惊讶的是,在 Case-I 中编译器能够隐式转换 int? 到 int 而在 Case-II 中它显示错误:'错误 1 ​​无法隐式转换类型'int?' 'int'"

关于空合并运算符,我缺少什么?

感谢您的关注。

0 投票
2 回答
99 浏览

c# - 这种方法尝试的术语是什么?

我不知道:

  1. 如果这行得通。
  2. 如果这是个好主意。
  3. 它叫什么,以便了解更多信息。

但我认为意图是相当明显的。

预期用途: var customer = order.Sale.OrNew().Customer.OrNew().Name

我在做什么?这是疯狂的还是有帮助的?似乎很有帮助

0 投票
3 回答
716 浏览

c# - C# 合并运算符的原子性

我今天在我们的代码库中遇到了一些单例代码,我不确定以下是否是线程安全的:

该语句等价于:

我相信 ??只是一个编译器技巧,生成的代码仍然不是原子的。换句话说,两个或多个线程可以在将 _sentence 设置为新的 Sentence 并返回之前发现 _sentence 为空。

为了保证原子性,我们必须锁定那段代码:

这一切都正确吗?

0 投票
6 回答
6917 浏览

c# - 可以用吗??(合并运算符)与 DBNull?

如果我有类似于以下的代码:

它抛出错误:

对象不能从 DBNull 转换为其他类型。

定义intVal为可为空的 int 不是一种选择。有没有办法让我做到以上?

0 投票
10 回答
9571 浏览

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

我喜欢 null-coalescing 运算符,因为它可以很容易地为可空类型分配默认值。

太好了,除非我需要用x. 例如,如果我想检查Session,那么我通常最终不得不写一些更冗长的东西。

我希望我能做到这一点:

但是你不能因为在.ToString()空检查之前被调用,所以如果Session["key"]为空,它会失败。我最终这样做:

在我看来,它比三行替代方案更有效并且更好:

即使这样有效,我仍然很好奇是否有更好的方法。似乎不管我总是要引用Session["key"]两次;一次用于检查,再次用于分配。有任何想法吗?