我的查询很简单,如果可能的话,我会在 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
运算符,如果 x
为 null
则返回 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/