c# - C# 中逻辑运算符的结构

标签 c# javascript

我的查询很简单,如果可能的话,我会在 C# 中执行以下操作。

<html>
<head>
<script src="../jquery-1.3.2.js" type="text/javascript"></script>
<script type="text/javascript">
    $(function(){
        $("#datos").append("<span style=\"font-weight:bold\">(false || null || \"1º\" || \"2º\")</span> : <span>"+(false || null || "1º" || "2º")+"</span><br />");
        $("#datos").append("<span style=\"font-weight:bold\">(false && null || false || \"2º\")</span> : <span>"+(false && null || false || "2º")+"</span><br />");
        $("#datos").append("<span style=\"font-weight:bold\">(false && true || \"1º\" || \"2º\")</span> : <span>"+(false && true || "1º" || "2º")+"</span><br />");
        $("#datos").append("<span style=\"font-weight:bold\">(true && null && 6 && 5)</span> : <span>"+(true && null && 6 && 5)+"</span><br />");
        $("#datos").append("<span style=\"font-weight:bold\">(null && true && false && false)</span> : <span>"+(null && true && false && false)+"</span><br />");
        $("#datos").append("<span style=\"font-weight:bold\">(false && true && false && false)</span> : <span>"+(false && true && false && false)+"</span><br />");
        $("#datos").append("<span style=\"font-weight:bold\">(true && 1 && true && 2)</span> : <span>"+(true && 1 && true && 2)+"</span><br />");
        $("#datos").append("<span style=\"font-weight:bold\">(true && \"1º\" && true && \"2º\")</span> : <span>"+(true && "1º" && true && "2º")+"</span><br />");
        $("#datos").append("<span style=\"font-weight:bold\">(true && true && \"1º\" && \"2º\")</span> : <span>"+(true && true && "1º" && "2º")+"</span><br />");
    });
</script>
</head>
<body>
<div id="datos"></div>
</body>
</html>

返回 HTML:

(false || null || "1º" || "2º") : 1º
(false && null || false || "2º") : 2º
(false && true || "1º" || "2º") : 1º
(true && null && 6 && 5) : null
(null && true && false && false) : null
(false && true && false && false) : false
(true && 1 && true && 2) : 2
(true && "1º" && true && "2º") : 2º
(true && true && "1º" && "2º") : 2º

谢谢。

--编辑评论

我需要在 C# 中完成以下任务:

string value1 = string.Empty;
string value2 = "default value";

// Request.Form["valueA"] and Request.Form["valueB"] may be null
value1 = (Request.Form["valueA"] || Request.Form["valueB"] || value2);

最佳答案

这些表达式在 C# 中无效,因为 .NET ||&& 运算符是强类型的。

但是,有 x ?? y 运算符,如果 xnull 则返回 y,否则返回 x:

string value1;
string value2 = "default value";

value1 = Request.Form["valueA"] ?? Request.Form["valueB"] ?? value2;
                                ^                         ^

关于c# - C# 中逻辑运算符的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1347233/

相关文章:

javascript - 如何使用 dom 元素

c# - RedirectToAction 和 "Object moved to here"错误

c# - 为什么在乘以非常大的数字时得不​​到正确的结果?

javascript - 如何循环数组显示表格所有行的所有数据?

javascript - 有没有办法在 jQuery 中检测鼠标按下?

javascript - 如何使用 jquery 将链接添加到表中?

javascript - 增加 map 容器大小的宽度而不移动 map

c# - 命名参数的评估顺序

c# - 使用 HangFire 启动实现接口(interface)的作业时如何使用自定义作业名称

c# - 如何改进这种异常重试场景?