⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 4.htm

📁 This ECMA Standard specifies the form and establishes the interpretation of programs written in the
💻 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="3.htm"><img src="previous.gif" alt="previous" border="0" /></a><a href="5.htm"><img src="next.gif" alt="next" border="0" /></a></span><span class="clause-depth"><a href="3.htm"><img src="previous.gif" alt="previous at this level" border="0" /></a><a href="5.htm"><img src="next.gif" alt="next at this level" border="0" /></a> <span class="clause-number">4</span><span class="clause-title"> Definitions</span></span><span class="locator">
     Paragraph 1</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P1S1"></a>For the purposes of this ECMA Standard, the following definitions apply.</span> <span class="sentence"><span class="sentence-number">2</span> <a name="P1S2"></a>Other terms are defined where they appear in italic type or on the left side of a syntax rule.</span> <span class="sentence"><span class="sentence-number">3</span> <a name="P1S3"></a>Terms explicitly defined in this ECMA Standard are not to be presumed to refer implicitly to similar terms defined elsewhere.</span> <span class="sentence"><span class="sentence-number">4</span> <a name="P1S4"></a>Terms not defined in this ECMA Standard are to be interpreted according to ISO/IEC 2382.1.</span> <span class="sentence"><span class="sentence-number">5</span> <a name="P1S5"></a>Mathematical symbols not defined in this ECMA Standard are to be interpreted according to ISO 31.11.</span> </span><span class="locator">
     Paragraph 2</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P2S1"></a><span class="term-definition">Application</span>  -refers to an assembly that has an entry point (<a href="10.1.htm">&#167;10.1</a>).</span> <span class="sentence"><span class="sentence-number">2</span> <a name="P2S2"></a>When an application is run, a new application domain is created.</span> <span class="sentence"><span class="sentence-number">3</span> <a name="P2S3"></a>Several different instantiations of an application may exist on the same machine at the same time, and each has its own application domain.</span> </span><span class="locator">
     Paragraph 3</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P3S1"></a><span class="term-definition">Application domain</span>  -an entity that enables application isolation by acting as a container for application state.</span> <span class="sentence"><span class="sentence-number">2</span> <a name="P3S2"></a>An application domain acts as a container and boundary for the types defined in the application and the class libraries it uses.</span> <span class="sentence"><span class="sentence-number">3</span> <a name="P3S3"></a>Types loaded into one application domain are distinct from the same type loaded into another application domain, and instances of objects are not directly shared between application domains.</span> <span class="sentence"><span class="sentence-number">4</span> <a name="P3S4"></a>For instance, each application domain has its own copy of static variables for these types, and a static constructor for a type is run at most once per application domain.</span> <span class="sentence"><span class="sentence-number">5</span> <a name="P3S5"></a>Implementations are free to provide implementation-specific policy or mechanisms for the creation and destruction of application domains.</span> </span><span class="locator">
     Paragraph 4</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P4S1"></a><span class="term-definition">Argument</span>  -an expression in the comma-separated list bounded by the parentheses in a method or instance constructor call expression.</span> <span class="sentence"><span class="sentence-number">2</span> <a name="P4S2"></a>It is also known as an actual argument.</span> </span><span class="locator">
     Paragraph 5</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P5S1"></a><span class="term-definition">Assembly</span>  -refers to one or more files that are output by the compiler as a result of program compilation.</span> <span class="sentence"><span class="sentence-number">2</span> <a name="P5S2"></a>An assembly is a configured set of loadable code modules and other resources that together implement a unit of functionality.</span> <span class="sentence"><span class="sentence-number">3</span> <a name="P5S3"></a>An assembly may contain types, the executable code used to implement these types, and references to other assemblies.</span> <span class="sentence"><span class="sentence-number">4</span> <a name="P5S4"></a>The physical representation of an assembly is not defined by this specification.</span> <span class="sentence"><span class="sentence-number">5</span> <a name="P5S5"></a>Essentially, an assembly is the output of the compiler.</span> </span><span class="locator">
     Paragraph 6</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P6S1"></a><span class="term-definition">Behavior</span>  -external appearance or action.</span> </span><span class="locator">
     Paragraph 7</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P7S1"></a><span class="term-definition">Behavior, implementation-defined</span>  -unspecified behavior where each implementation documents how the choice is made.</span> </span><span class="locator">
     Paragraph 8</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P8S1"></a><span class="term-definition">Behavior, undefined</span>  -behavior, upon use of a nonportable or erroneous construct or of erroneous data, for which this ECMA Standard imposes no requirements.</span> <span class="sentence"><span class="sentence-number">2</span> <a name="P8S2"></a>[Possible handling of undefined behavior ranges from ignoring the situation completely with unpredictable results, to behaving during translation or execution in a documented manner characteristic of the environment (with or without the issuance of a diagnostic message), to terminating a translation or execution (with the issuance of a diagnostic message)].</span> </span><span class="locator">
     Paragraph 9</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P9S1"></a><span class="term-definition">Behavior, unspecified</span>  -behavior where this ECMA Standard provides two or more possibilities and imposes no further requirements on which is chosen in any instance.</span> </span><span class="locator">
     Paragraph 10</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P10S1"></a><span class="term-definition">Class library</span>  -refers to an assembly that can be used by other assemblies.</span> <span class="sentence"><span class="sentence-number">2</span> <a name="P10S2"></a>Use of a class library does not cause the creation of a new application domain.</span> <span class="sentence"><span class="sentence-number">3</span> <a name="P10S3"></a>Instead, a class library is loaded into the application domain that uses it.</span> <span class="sentence"><span class="sentence-number">4</span> <a name="P10S4"></a>For instance, when an application uses a class library, that class library is loaded into the application domain for that application.</span> <span class="sentence"><span class="sentence-number">5</span> <a name="P10S5"></a>If an application uses a class library A that itself uses a class library B, then both A and B are loaded into the application domain for the application.</span> </span><span class="locator">
     Paragraph 11</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P11S1"></a><span class="term-definition">Diagnostic message</span>  -a message belonging to an implementation-defined subset of the implementation's output messages.</span> </span><span class="locator">
     Paragraph 12</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P12S1"></a><span class="term-definition">Error, compile-time</span>  -an error reported during program translation.</span> </span><span class="locator">
     Paragraph 13</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P13S1"></a><span class="term-definition">Exception</span>  -an error condition that is outside the ordinary expected behavior.</span> </span><span class="locator">
     Paragraph 14</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P14S1"></a><span class="term-definition">Implementation</span>  -particular set of software (running in a particular translation environment under particular control options) that performs translation of programs for, and supports execution of methods in, a particular execution environment.</span> </span><span class="locator">
     Paragraph 15</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P15S1"></a><span class="term-definition">Namespace</span>  -a logical organizational system that provides a way of presenting program elements that are exposed to other programs.</span> </span><span class="locator">
     Paragraph 16</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P16S1"></a><span class="term-definition">Parameter</span>  -a variable declared as part of a method, instance constructor, or indexer definition, which acquires a value on entry to that method.</span> <span class="sentence"><span class="sentence-number">2</span> <a name="P16S2"></a>It is also known as formal parameter.</span> </span><span class="locator">
     Paragraph 17</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P17S1"></a><span class="term-definition">Program</span>  -refers to one or more source files that are presented to the compiler.</span> <span class="sentence"><span class="sentence-number">2</span> <a name="P17S2"></a>Essentially, a program is the input to the compiler.</span> </span><span class="locator">
     Paragraph 18</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P18S1"></a><span class="term-definition">Program, valid</span>  -a C# program constructed according to the syntax rules and diagnosable semantic rules.</span> </span><span class="locator">
     Paragraph 19</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P19S1"></a><span class="term-definition">Program instantiation</span>  -the execution of an application.</span> </span><span class="locator">
     Paragraph 20</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P20S1"></a><span class="term-definition">Recommended practice</span>  -specification that is strongly recommended as being aligned with the intent of the standard, but that may be impractical for some implementations.</span> </span><span class="locator">
     Paragraph 21</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P21S1"></a><span class="term-definition">Source file</span>  -an ordered sequence of Unicode characters.</span> <span class="sentence"><span class="sentence-number">2</span> <a name="P21S2"></a>Source files typically have a one-to-one correspondence with files in a file system, but this correspondence is not required.</span> </span><span class="locator">
     Paragraph 22</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P22S1"></a><span class="term-definition">Unsafe code</span>  -code that is permitted to perform such lower-level operations as declaring and operating on pointers, performing conversions between pointers and integral types, and taking the address of variables.</span> <span class="sentence"><span class="sentence-number">2</span> <a name="P22S2"></a>Such operations provide functionality such as permitting interfacing with the underlying operating system, accessing a memory-mapped device, or implementing a time-critical algorithm.</span> </span><span class="locator">
     Paragraph 23</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P23S1"></a><span class="term-definition">Warning, compile-time</span>  -an informational message reported during program translation, that is intended to identify a potentially questionable usage of a program element.</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 + -