
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
	<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head><card id="MainCard" title="&#x6B22;&#x8FCE;&#x5149;&#x4E34;"><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a><br/>&nbsp;</p><p><b>&#x6807;&#x9898;&#x3A;</b> &#x43;&#x23;&#x53EF;&#x7A7A;&#x7C7B;&#x578B;</p><p><b>&#x4F5C;&#x8005;&#x3A;</b> &#x64;&#x6E;&#x61;&#x77;&#x6F;</p><p><b>&#x65E5;&#x671F;&#x3A;</b> &#x32;&#x30;&#x30;&#x38;&#x2D;&#x31;&#x32;&#x2D;&#x30;&#x38;&#x20;&#x30;&#x33;&#x3A;&#x30;&#x37;&#x20;&#x50;&#x4D;</p><p><b>&#x5206;&#x7C7B;&#x3A;</b> <a href="wap.asp?do=showLog&amp;cateID=5">&#x57;&#x65;&#x62;&#x7F16;&#x7A0B;</a></p><p><b>&#x5185;&#x5BB9;&#x3A;</b> &#x53EF;&#x7A7A;&#x7C7B;&#x578B;&#x662F; System.Nullable &#x7ED3;&#x6784;&#x7684;&#x5B9E;&#x4F8B;&#x3002;&#x53EF;&#x7A7A;&#x7C7B;&#x578B;&#x53EF;&#x4EE5;&#x8868;&#x793A;&#x5176;&#x57FA;&#x7840;&#x503C;&#x7C7B;&#x578B;&#x6B63;&#x5E38;&#x8303;&#x56F4;&#x5185;&#x7684;&#x503C;&#xFF0C;&#x518D;&#x52A0;&#x4E0A;&#x4E00;&#x4E2A; null &#x503C;&#x3002;&#x4F8B;&#x5982;&#xFF0C;Nullable&lt;Int32&gt;&#xFF0C;&#x8BFB;&#x4F5C;&#x201C;&#x53EF;&#x7A7A;&#x7684; Int32&#x201D;&#xFF0C;&#x53EF;&#x4EE5;&#x88AB;&#x8D4B;&#x503C;&#x4E3A; -2147483648 &#x5230; 2147483647 &#x4E4B;&#x95F4;&#x7684;&#x4EFB;&#x610F;&#x503C;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x88AB;&#x8D4B;&#x503C;&#x4E3A; null &#x503C;&#x3002;Nullable&lt;bool&gt; &#x53EF;&#x4EE5;&#x88AB;&#x8D4B;&#x503C;&#x4E3A; true &#x6216; false&#xFF0C;&#x6216; null&#x3002;&#x5728;&#x5904;&#x7406;&#x6570;&#x636E;&#x5E93;&#x548C;&#x5176;&#x4ED6;&#x5305;&#x542B;&#x53EF;&#x80FD;&#x672A;&#x8D4B;&#x503C;&#x7684;&#x5143;&#x7D20;&#x7684;&#x6570;&#x636E;&#x7C7B;&#x578B;&#x65F6;&#xFF0C;&#x5C06; null &#x8D4B;&#x503C;&#x7ED9;&#x6570;&#x503C;&#x7C7B;&#x578B;&#x6216;&#x5E03;&#x5C14;&#x578B;&#x7684;&#x529F;&#x80FD;&#x7279;&#x522B;&#x6709;&#x7528;&#x3002;&#x4F8B;&#x5982;&#xFF0C;&#x6570;&#x636E;&#x5E93;&#x4E2D;&#x7684;&#x5E03;&#x5C14;&#x578B;&#x5B57;&#x6BB5;&#x53EF;&#x4EE5;&#x5B58;&#x50A8;&#x503C; true &#x6216; false&#xFF0C;&#x6216;&#x8005;&#xFF0C;&#x8BE5;&#x5B57;&#x6BB5;&#x4E5F;&#x53EF;&#x4EE5;&#x672A;&#x5B9A;&#x4E49;&#x3002; <br/>&#x53EF;&#x7A7A;&#x7C7B;&#x578B;&#x5177;&#x6709;&#x4EE5;&#x4E0B;&#x7279;&#x6027;&#xFF1A;<br/>&#xB7;&#x53EF;&#x7A7A;&#x7C7B;&#x578B;&#x8868;&#x793A;&#x53EF;&#x88AB;&#x8D4B;&#x503C;&#x4E3A; null &#x503C;&#x7684;&#x503C;&#x7C7B;&#x578B;&#x53D8;&#x91CF;&#x3002;&#x65E0;&#x6CD5;&#x521B;&#x5EFA;&#x57FA;&#x4E8E;&#x5F15;&#x7528;&#x7C7B;&#x578B;&#x7684;&#x53EF;&#x7A7A;&#x7C7B;&#x578B;&#x3002;(&#x5F15;&#x7528;&#x7C7B;&#x578B;&#x5DF2;&#x652F;&#x6301; null &#x503C;&#x3002;)&#x3002;<br/>&#xB7;&#x8BED;&#x6CD5; T? &#x662F; System.Nullable&lt;T&gt; &#x7684;&#x7B80;&#x5199;&#xFF0C;&#x6B64;&#x5904;&#x7684; T &#x4E3A;&#x503C;&#x7C7B;&#x578B;&#x3002;&#x8FD9;&#x4E24;&#x79CD;&#x5F62;&#x5F0F;&#x53EF;&#x4EE5;&#x4E92;&#x6362;&#x3002;<br/>&#xB7;&#x4E3A;&#x53EF;&#x7A7A;&#x7C7B;&#x578B;&#x8D4B;&#x503C;&#x4E0E;&#x4E3A;&#x4E00;&#x822C;&#x503C;&#x7C7B;&#x578B;&#x8D4B;&#x503C;&#x7684;&#x65B9;&#x6CD5;&#x76F8;&#x540C;&#xFF0C;&#x5982; int? x = 10; &#x6216; double? d = 4.108;&#x3002;<br/>&#xB7;&#x5982;&#x679C;&#x57FA;&#x7840;&#x7C7B;&#x578B;&#x7684;&#x503C;&#x4E3A; null&#xFF0C;&#x8BF7;&#x4F7F;&#x7528; System.Nullable.GetValueOrDefault &#x5C5E;&#x6027;&#x8FD4;&#x56DE;&#x8BE5;&#x57FA;&#x7840;&#x7C7B;&#x578B;&#x6240;&#x8D4B;&#x7684;&#x503C;&#x6216;&#x9ED8;&#x8BA4;&#x503C;&#xFF0C;&#x4F8B;&#x5982; int j = x.GetValueOrDefault();<br/>&#xB7;&#x8BF7;&#x4F7F;&#x7528; HasValue &#x548C; Value &#x53EA;&#x8BFB;&#x5C5E;&#x6027;&#x6D4B;&#x8BD5;&#x662F;&#x5426;&#x4E3A;&#x7A7A;&#x548C;&#x68C0;&#x7D22;&#x503C;&#xFF0C;&#x4F8B;&#x5982; if(x.HasValue) j = x.Value;<br/>&#160;&#160;&#160;&#160;&#x5982;&#x679C;&#x6B64;&#x53D8;&#x91CF;&#x5305;&#x542B;&#x503C;&#xFF0C;&#x5219; HasValue &#x5C5E;&#x6027;&#x8FD4;&#x56DE; True&#xFF1B;&#x6216;&#x8005;&#xFF0C;&#x5982;&#x679C;&#x6B64;&#x53D8;&#x91CF;&#x7684;&#x503C;&#x4E3A;&#x7A7A;&#xFF0C;&#x5219;&#x8FD4;&#x56DE; False&#x3002;<br/>&#160;&#160;&#160;&#160;&#x5982;&#x679C;&#x5DF2;&#x8D4B;&#x503C;&#xFF0C;&#x5219; Value &#x5C5E;&#x6027;&#x8FD4;&#x56DE;&#x8BE5;&#x503C;&#xFF0C;&#x5426;&#x5219;&#x5C06;&#x5F15;&#x53D1; System.InvalidOperationException&#x3002;<br/>&#160;&#160;&#160;&#160;&#x53EF;&#x7A7A;&#x7C7B;&#x578B;&#x53D8;&#x91CF;&#x7684;&#x9ED8;&#x8BA4;&#x503C;&#x5C06; HasValue &#x8BBE;&#x7F6E;&#x4E3A; false&#x3002;&#x672A;&#x5B9A;&#x4E49; Value&#x3002;<br/>&#xB7;&#x4F7F;&#x7528; ?? &#x8FD0;&#x7B97;&#x7B26;&#x5206;&#x914D;&#x9ED8;&#x8BA4;&#x503C;&#xFF0C;&#x5F53;&#x524D;&#x503C;&#x4E3A;&#x7A7A;&#x7684;&#x53EF;&#x7A7A;&#x7C7B;&#x578B;&#x88AB;&#x8D4B;&#x503C;&#x7ED9;&#x975E;&#x7A7A;&#x7C7B;&#x578B;&#x65F6;&#x5C06;&#x5E94;&#x7528;&#x8BE5;&#x9ED8;&#x8BA4;&#x503C;&#xFF0C;&#x5982; int? x = null; int y = x ?? -1;&#x3002;<br/>&#xB7;&#x4E0D;&#x5141;&#x8BB8;&#x4F7F;&#x7528;&#x5D4C;&#x5957;&#x7684;&#x53EF;&#x7A7A;&#x7C7B;&#x578B;&#x3002;&#x5C06;&#x4E0D;&#x7F16;&#x8BD1;&#x4E0B;&#x9762;&#x4E00;&#x884C;&#xFF1A;Nullable&lt;Nullable&lt;int&gt;&gt; n;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;class NullableExample<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;static void Main()<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int? num = null;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (num.HasValue == true)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.Console.WriteLine(&#34;num = &#34; + num.Value);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.Console.WriteLine(&#34;num = Null&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//y is set to zero<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int y = num.GetValueOrDefault();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// num.Value throws an InvalidOperationException if num.HasValue is false<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;y = num.Value;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch (System.InvalidOperationException e)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.Console.WriteLine(e.Message);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>&#x4EE5;&#x4E0A;&#x5C06;&#x663E;&#x793A;&#x8F93;&#x51FA;&#xFF1A;<br/>num = Null <br/>Nullable object must have a value. </p><p> + <a href="#CommentCard">&#x67E5;&#x770B;&#x5F53;&#x524D;&#x65E5;&#x5FD7;&#x8BC4;&#x8BBA;</a> (0)</p><p>&nbsp;<br/><br/><a href="wap.asp?do=Login">&#x767B;&#x5F55;</a></p><p><br/>&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;</p><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a></p><p><a href="http://www.pjhome.net/wap.asp">PJBlog3&nbsp;v3.2.9.518</a>&nbsp;Inside.</p><p>Processed&nbsp;In&nbsp;0.047&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card><card id="postCommentCard"><p><b>&#x6807;&#x9898;&#x3A;</b> <a href="#MainCard">&#x43;&#x23;&#x53EF;&#x7A7A;&#x7C7B;&#x578B;</a></p><p><br/>你没有权限发表评论</p><p><br/>&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;</p><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a></p><p><a href="http://www.pjhome.net/wap.asp">PJBlog3&nbsp;v3.2.9.518</a>&nbsp;Inside.</p><p>Processed&nbsp;In&nbsp;0.047&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card><card id="CommentCard"><p>&#x6682;&#x65E0;&#x8BC4;&#x8BBA;</p><p><a href="#MainCard">&#x8FD4;&#x56DE;</a></p><p><br/>&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;</p><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a></p><p><a href="http://www.pjhome.net/wap.asp">PJBlog3&nbsp;v3.2.9.518</a>&nbsp;Inside.</p><p>Processed&nbsp;In&nbsp;0.047&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card>
</wml>
