📄 14.11.htm
字号:
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Hyperlinked ECMA C# Language Specification</title><meta name="author" content="Jon Jagger" /><link rel="stylesheet" href="ecma334.css"></link></head><body><div align="right"><em><a href="http://www.jaggersoft.com">Jon Jagger</a></em></div><div align="right"><a href="mailto:jon@jaggersoft.com">jon@jaggersoft.com</a></div><form method="get" action="http://search.atomz.com/search/"><input size="30" name="sp-q"></input><input type="submit" value="Search C# Spec"></input><input type="hidden" name="sp-a" value="sp10024177"></input><input type="hidden" name="sp-f" value="ISO-8859-1"></input></form><a href="toc.htm">Table of Contents</a> <a href="1.htm">1</a> <a href="2.htm">2</a> <a href="3.htm">3</a> <a href="4.htm">4</a> <a href="5.htm">5</a> <a href="6.htm">6</a> <a href="7.htm">7</a> <a href="8.htm">8</a> <a href="9.htm">9</a> <a href="10.htm">10</a> <a href="11.htm">11</a> <a href="12.htm">12</a> <a href="13.htm">13</a> <a href="14.htm">14</a> <a href="15.htm">15</a> <a href="16.htm">16</a> <a href="17.htm">17</a> <a href="18.htm">18</a> <a href="19.htm">19</a> <a href="20.htm">20</a> <a href="21.htm">21</a> <a href="22.htm">22</a> <a href="23.htm">23</a> <a href="24.htm">24</a> <a href="25.htm">25</a> <a href="notes.htm">Notes</a> <a href="HyperlinkedCSharpECMA.zip">Download</a><span class="ruler"></span><span class="heading">ECMA-334 C# Language Specification</span><span class="navigate"><a href="14.10.3.htm"><img src="previous.gif" alt="previous" border="0" /></a><a href="14.11.1.htm"><img src="next.gif" alt="next" border="0" /></a></span><span class="clause-depth"><a href="13.htm"><img src="previous.gif" alt="previous at this level" border="0" /></a><a href="15.htm"><img src="next.gif" alt="next at this level" border="0" /></a> <span class="clause-number-link"><a href="14.htm">14</a></span><span class="clause-title-previous"> Expressions</span></span><span class="clause-depth"><a href="14.10.htm"><img src="previous.gif" alt="previous at this level" border="0" /></a><a href="14.12.htm"><img src="next.gif" alt="next at this level" border="0" /></a> <span class="clause-number">14.11</span><span class="clause-title"> Conditional logical operators</span></span><span class="locator">
Paragraph 1</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P1S1"></a>The && and || operators are called the conditional logical operators.</span> <span class="sentence"><span class="sentence-number">2</span> <a name="P1S2"></a>They are also called the "short-circuiting" logical operators.</span> <span class="grammar-production"><span class="name"><a name="conditional-and-expression"></a>conditional-and-expression</span> : <span class="rhs"><span class="non-terminal"><a href="14.10.htm#inclusive-or-expression">inclusive-or-expression</a></span> </span><span class="rhs"><span class="non-terminal"><a href="14.11.htm#conditional-and-expression">conditional-and-expression</a></span> <span class="terminal">&&</span> <span class="non-terminal"><a href="14.10.htm#inclusive-or-expression">inclusive-or-expression</a></span> </span></span><span class="grammar-production"><span class="name"><a name="conditional-or-expression"></a>conditional-or-expression</span> : <span class="rhs"><span class="non-terminal"><a href="14.11.htm#conditional-and-expression">conditional-and-expression</a></span> </span><span class="rhs"><span class="non-terminal"><a href="14.11.htm#conditional-or-expression">conditional-or-expression</a></span> <span class="terminal">||</span> <span class="non-terminal"><a href="14.11.htm#conditional-and-expression">conditional-and-expression</a></span> </span></span></span><span class="locator">
Paragraph 2</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P2S1"></a>The && and || operators are conditional versions of the & and | operators: </span><ul><li><span class="sentence"><span class="sentence-number">2</span> <a name="P2S2"></a> The operation x && y corresponds to the operation x & y, except that y is evaluated only if x is true.</span> </li><li><span class="sentence"><span class="sentence-number">3</span> <a name="P2S3"></a> The operation x || y corresponds to the operation x | y, except that y is evaluated only if x is false.</span> </li></ul></span><span class="locator">
Paragraph 3</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P3S1"></a>An operation of the form x && y or x || y is processed by applying overload resolution (<a href="14.2.4.htm">§14.2.4</a>) as if the operation was written x & y or x | y.</span> <span class="sentence"><span class="sentence-number">2</span> <a name="P3S2"></a>Then, </span><ul><li><span class="sentence"><span class="sentence-number">3</span> <a name="P3S3"></a> If overload resolution fails to find a single best operator, or if overload resolution selects one of the predefined integer logical operators, a compile-time error occurs.</span> </li><li><span class="sentence"><span class="sentence-number">4</span> <a name="P3S4"></a> Otherwise, if the selected operator is one of the predefined boolean logical operators (<a href="14.10.2.htm">§14.10.2</a>), the operation is processed as described in <a href="14.11.1.htm">§14.11.1</a>.</span> </li><li><span class="sentence"><span class="sentence-number">5</span> <a name="P3S5"></a> Otherwise, the selected operator is a user-defined operator, and the operation is processed as described in <a href="14.11.2.htm">§14.11.2</a>.</span> </li></ul></span><span class="locator">
Paragraph 4</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P4S1"></a>It is not possible to directly overload the conditional logical operators.</span> <span class="sentence"><span class="sentence-number">2</span> <a name="P4S2"></a>However, because the conditional logical operators are evaluated in terms of the regular logical operators, overloads of the regular logical operators are, with certain restrictions, also considered overloads of the conditional logical operators.</span> <span class="sentence"><span class="sentence-number">3</span> <a name="P4S3"></a>This is described further in <a href="14.11.2.htm">§14.11.2</a>.</span> </span><span class="ruler"></span><table><tr><td><table align="left" bgcolor="navy"><tr bgcolor="navy"><td><font face="Arial,sans-serif" size="6" color="yellow"><strong>{ JSL }</strong></font></td></tr></table></td></tr><tr><td><font face="Arial,sans-serif" size="2" color="navy"><strong>Jagger Software Ltd</strong></font></td></tr><tr><td><font face="Arial,sans-serif" size="2" color="navy"><strong>Company # 4070126</strong></font></td></tr><tr><td><font face="Arial,sans-serif" size="2" color="navy"><strong>VAT # 762 5213 42</strong></font></td></tr></table><img src="valid-html401.png" align="left" height="31" width="88" alt="Valid HTML 4.01" /><img src="vcss.gif" align="left" height="31" width="88" alt="Valid CSS" /></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -