📄 15.4.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="15.3.htm"><img src="previous.gif" alt="previous" border="0" /></a><a href="15.5.htm"><img src="next.gif" alt="next" border="0" /></a></span><span class="clause-depth"><a href="14.htm"><img src="previous.gif" alt="previous at this level" border="0" /></a><a href="16.htm"><img src="next.gif" alt="next at this level" border="0" /></a> <span class="clause-number-link"><a href="15.htm">15</a></span><span class="clause-title-previous"> Statements</span></span><span class="clause-depth"><a href="15.3.htm"><img src="previous.gif" alt="previous at this level" border="0" /></a><a href="15.5.htm"><img src="next.gif" alt="next at this level" border="0" /></a> <span class="clause-number">15.4</span><span class="clause-title"> Labeled statements</span></span><span class="locator">
Paragraph 1</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P1S1"></a>A <span class="non-terminal"><a href="15.4.htm#labeled-statement">labeled-statement</a></span> permits a statement to be prefixed by a label.</span> <span class="sentence"><span class="sentence-number">2</span> <a name="P1S2"></a>Labeled statements are permitted in blocks, but are not permitted as embedded statements.</span> <span class="grammar-production"><span class="name"><a name="labeled-statement"></a>labeled-statement</span> : <span class="rhs"><span class="non-terminal"><a href="9.4.2.htm#identifier">identifier</a></span> <span class="terminal">:</span> <span class="non-terminal"><a href="15.htm#statement">statement</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>A labeled statement declares a label with the name given by the identifier.</span> <span class="sentence"><span class="sentence-number">2</span> <a name="P2S2"></a>The scope of a label is the whole block in which the label is declared, including any nested blocks.</span> <span class="sentence"><span class="sentence-number">3</span> <a name="P2S3"></a>It is a compile-time error for two labels with the same name to have overlapping scopes.</span> </span><span class="locator">
Paragraph 3</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P3S1"></a>A label can be referenced from goto statements (<a href="15.9.3.htm">§15.9.3</a>) within the scope of the label.</span> <span class="note">[Note: This means that goto statements can transfer control within blocks and out of blocks, but never into blocks. end note]</span> </span><span class="locator">
Paragraph 4</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P4S1"></a>Labels have their own declaration space and do not interfere with other identifiers.</span> <span class="example">[Example: The example <pre class="code-example">
int F(int x) {
if (x >= 0) goto x;
x = -x;
x: return x;
}
</pre>is valid and uses the name x as both a parameter and a label. end example]</span> </span><span class="locator">
Paragraph 5</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P5S1"></a>Execution of a labeled statement corresponds exactly to execution of the statement following the label.</span> </span><span class="locator">
Paragraph 6</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P6S1"></a>In addition to the reachability provided by normal flow of control, a labeled statement is reachable if the label is referenced by a reachable goto statement.</span> <span class="sentence"><span class="sentence-number">2</span> <a name="P6S2"></a>(Exception: If a goto statement is inside a try that includes a finally block, and the labeled statement is outside the try, and the end point of the finally block is unreachable, then the labeled statement is not reachable from that goto statement.)</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 + -