📄 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="10.10.htm"><img src="previous.gif" alt="previous" border="0" /></a><a href="11.1.htm"><img src="next.gif" alt="next" border="0" /></a></span><span class="clause-depth"><a href="10.htm"><img src="previous.gif" alt="previous at this level" border="0" /></a><a href="12.htm"><img src="next.gif" alt="next at this level" border="0" /></a> <span class="clause-number">11</span><span class="clause-title"> Types</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 types of the C# language are divided into two main categories: Value types and reference types.</span> <span class="grammar-production"><span class="name"><a name="type"></a>type</span> : <span class="rhs"><span class="non-terminal"><a href="11.1.htm#value-type">value-type</a></span> </span><span class="rhs"><span class="non-terminal"><a href="11.2.htm#reference-type">reference-type</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 third category of types, pointers, is available only in unsafe code.</span> <span class="sentence"><span class="sentence-number">2</span> <a name="P2S2"></a>This is discussed further in <a href="25.2.htm">§25.2</a>.</span> </span><span class="locator">
Paragraph 3</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P3S1"></a>Value types differ from reference types in that variables of the value types directly contain their data, whereas variables of the reference types store references to their data, the latter being known as objects.</span> <span class="sentence"><span class="sentence-number">2</span> <a name="P3S2"></a>With reference types, it is possible for two variables to reference the same object, and thus possible for operations on one variable to affect the object referenced by the other variable.</span> <span class="sentence"><span class="sentence-number">3</span> <a name="P3S3"></a>With value types, the variables each have their own copy of the data, and it is not possible for operations on one to affect the other.</span> </span><span class="locator">
Paragraph 4</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P4S1"></a>C#'s type system is unified such that a value of any type can be treated as an object.</span> <span class="sentence"><span class="sentence-number">2</span> <a name="P4S2"></a>Every type in C# directly or indirectly derives from the object class type, and object is the ultimate base class of all types.</span> <span class="sentence"><span class="sentence-number">3</span> <a name="P4S3"></a>Values of reference types are treated as objects simply by viewing the values as type object.</span> <span class="sentence"><span class="sentence-number">4</span> <a name="P4S4"></a>Values of value types are treated as objects by performing boxing and unboxing operations (<a href="11.3.htm">§11.3</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 + -