
<?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> &#x45;&#x66;&#x66;&#x65;&#x63;&#x74;&#x69;&#x76;&#x65;&#x20;&#x43;&#x23;&#x20;&#x539F;&#x5219;&#x34;&#xFF1A;&#x7528;&#x6761;&#x4EF6;&#x5C5E;&#x6027;&#x800C;&#x4E0D;&#x662F;&#x23;&#x69;&#x66;&#x9884;&#x7F16;&#x8BD1;&#x5757;</p><p><b>&#x4F5C;&#x8005;&#x3A;</b> &#x64;&#x6E;&#x61;&#x77;&#x6F;</p><p><b>&#x65E5;&#x671F;&#x3A;</b> &#x32;&#x30;&#x30;&#x39;&#x2D;&#x30;&#x34;&#x2D;&#x32;&#x38;&#x20;&#x30;&#x39;&#x3A;&#x34;&#x31;&#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> &#x4F7F;&#x7528;#if/#endif &#x5757;&#x53EF;&#x4EE5;&#x5728;&#x540C;&#x6837;&#x6E90;&#x7801;&#x4E0A;&#x751F;&#x6210;&#x4E0D;&#x540C;&#x7684;&#x7F16;&#x8BD1;(&#x7ED3;&#x679C;)&#xFF0C;&#x5927;&#x591A;&#x6570;debug&#x548C;release&#x4E24;&#x4E2A;&#x7248;&#x672C;&#x3002;&#x4F46;&#x5B83;&#x4EEC;&#x51B3;&#x4E0D;&#x662F;&#x6211;&#x4EEC;&#x559C;&#x6B22;&#x7528;&#x7684;&#x5DE5;&#x5177;&#x3002;&#x7531;&#x4E8E;#if/#endif&#x5F88;&#x5BB9;&#x6613;&#x88AB;&#x6EE5;&#x7528;&#xFF0C;&#x4F7F;&#x5F97;&#x7F16;&#x5199;&#x7684;&#x4EE3;&#x7801;&#x96BE;&#x4E8E;&#x7406;&#x89E3;&#x4E14;&#x66F4;&#x96BE;&#x4E8E;&#x8C03;&#x8BD5;&#x3002;&#x7A0B;&#x5E8F;&#x8BED;&#x8A00;&#x8BBE;&#x8BA1;&#x8005;&#x6709;&#x8D23;&#x4EFB;&#x63D0;&#x4F9B;&#x66F4;&#x597D;&#x7684;&#x5DE5;&#x5177;&#xFF0C;&#x7528;&#x4E8E;&#x751F;&#x6210;&#x5728;&#x4E0D;&#x540C;&#x8FD0;&#x884C;&#x73AF;&#x5883;&#x4E0B;&#x7684;&#x673A;&#x5668;&#x4EE3;&#x7801;&#x3002;C#&#x5C31;&#x63D0;&#x4F9B;&#x4E86;&#x6761;&#x4EF6;&#x5C5E;&#x6027;(Conditional attribute)&#x6765;&#x8BC6;&#x522B;&#x54EA;&#x4E9B;&#x65B9;&#x6CD5;&#x53EF;&#x4EE5;&#x6839;&#x636E;&#x73AF;&#x5883;&#x8BBE;&#x7F6E;&#x6765;&#x5224;&#x65AD;&#x662F;&#x5426;&#x5E94;&#x8BE5;&#x88AB;&#x8C03;&#x7528;&#x3002;<br/>(&#x8BD1;&#x6CE8;&#xFF1A;&#x5C5E;&#x6027;&#x5728;C#&#x91CC;&#x6709;&#x4E24;&#x4E2A;&#x5355;&#x8BCD;&#xFF0C;&#x4E00;&#x4E2A;&#x662F;property&#x53E6;&#x4E00;&#x4E2A;&#x662F;attribute&#xFF0C;&#x5B83;&#x4EEC;&#x6709;&#x4E0D;&#x662F;&#x7684;&#x610F;&#x601D;&#xFF0C;&#x4F46;&#x8BD1;&#x4E3A;&#x4E2D;&#x6587;&#x65F6;&#x4E00;&#x822C;&#x90FD;&#x662F;&#x8BD1;&#x4E3A;&#x4E86;&#x5C5E;&#x6027;&#x3002;property&#x662F;&#x6307;&#x4E00;&#x4E2A;&#x5BF9;&#x8C61;&#x7684;&#x6027;&#x8D28;&#xFF0C;&#x4E5F;&#x5C31;&#x662F;Item1&#x91CC;&#x8BF4;&#x7684;&#x5C5E;&#x6027;&#x3002;&#x800C;&#x8FD9;&#x91CC;&#x7684;attribute&#x6307;&#x7684;&#x662F;.net&#x4E3A;&#x7279;&#x6B8A;&#x7684;&#x7C7B;&#xFF0C;&#x65B9;&#x6CD5;&#x6216;&#x8005;property&#x9644;&#x52A0;&#x7684;&#x5C5E;&#x6027;&#x3002;&#x53EF;&#x4EE5;&#x5728;MSDN&#x91CC;&#x67E5;&#x627E;attribute&#x53D6;&#x5F97;&#x66F4;&#x591A;&#x7684;&#x5E2E;&#x52A9;&#xFF0C;&#x603B;&#x4E4B;&#x8981;&#x6CE8;&#x610F;&#xFF1A;attribute&#x4E0E;property&#x7684;&#x610F;&#x601D;&#x662F;&#x5B8C;&#x5168;&#x4E0D;&#x4E00;&#x6837;&#x7684;&#x3002;)<br/>&#x8FD9;&#x4E2A;&#x65B9;&#x6CD5;&#x6BD4;&#x6761;&#x4EF6;&#x7F16;&#x8BD1;#if/#endif&#x66F4;&#x52A0;&#x6E05;&#x6670;&#x660E;&#x767D;&#x3002;&#x7F16;&#x8BD1;&#x5668;&#x53EF;&#x4EE5;&#x8BC6;&#x522B;Conditional&#x5C5E;&#x6027;&#xFF0C;&#x6240;&#x4EE5;&#x5F53;&#x6761;&#x4EF6;&#x5C5E;&#x6027;&#x88AB;&#x5E94;&#x7528;&#x65F6;&#xFF0C;&#x7F16;&#x8BD1;&#x5668;&#x53EF;&#x4EE5;&#x5F88;&#x51FA;&#x8272;&#x7684;&#x5B8C;&#x6210;&#x5DE5;&#x4F5C;&#x3002;&#x6761;&#x4EF6;&#x5C5E;&#x6027;&#x662F;&#x5728;&#x65B9;&#x6CD5;&#x4E0A;&#x4F7F;&#x7528;&#x7684;&#xFF0C;&#x6240;&#x4EE5;&#x8FD9;&#x5C31;&#x4F7F;&#x7528;&#x4F60;&#x5FC5;&#x987B;&#x628A;&#x4E0D;&#x540C;&#x6761;&#x4EF6;&#x4E0B;&#x4F7F;&#x7528;&#x7684;&#x4EE3;&#x7801;&#x8981;&#x5199;&#x5230;&#x4E0D;&#x540C;&#x7684;&#x65B9;&#x6CD5;&#x91CC;&#x53BB;&#x3002;&#x5F53;&#x4F60;&#x8981;&#x4E3A;&#x4E0D;&#x540C;&#x7684;&#x6761;&#x4EF6;&#x751F;&#x6210;&#x4E0D;&#x540C;&#x7684;&#x4EE3;&#x7801;&#x65F6;&#xFF0C;&#x8BF7;&#x4F7F;&#x7528;&#x6761;&#x4EF6;&#x5C5E;&#x6027;&#x800C;&#x4E0D;&#x662F;#if/#endif&#x5757;&#x3002;<br/>&#x5F88;&#x591A;&#x7F16;&#x7A0B;&#x8001;&#x624B;&#x90FD;&#x5728;&#x4ED6;&#x4EEC;&#x7684;&#x9879;&#x76EE;&#x91CC;&#x7528;&#x6761;&#x4EF6;&#x7F16;&#x8BD1;&#x6765;&#x68C0;&#x6D4B;&#x5148;&#x51B3;&#x6761;&#x4EF6;(per-conditions)&#x548C;&#x540E;&#x7EED;&#x6761;&#x4EF6;(post-conditions)&#x3002;<br/>(&#x8BD1;&#x6CE8;&#xFF1A;per-conditions&#xFF0C;&#x5148;&#x51B3;&#x6761;&#x4EF6;&#xFF0C;&#x662F;&#x6307;&#x5FC5;&#x987B;&#x6EE1;&#x8DB3;&#x7684;&#x6761;&#x4EF6;&#xFF0C;&#x624D;&#x80FD;&#x5B8C;&#x6210;&#x67D0;&#x9879;&#x5DE5;&#x4F5C;&#xFF0C;&#x800C;post-conditions&#xFF0C;&#x540E;&#x7EED;&#x6761;&#x4EF6;&#xFF0C;&#x662F;&#x6307;&#x5B8C;&#x6210;&#x67D0;&#x9879;&#x5DE5;&#x4F5C;&#x540E;&#x4E00;&#x5B9A;&#x4F1A;&#x8FBE;&#x5230;&#x7684;&#x6761;&#x4EF6;&#x3002;&#x4F8B;&#x5982;&#x67D0;&#x4E2A;&#x51FD;&#x6570;&#xFF0C;&#x628A;&#x67D0;&#x4E2A;&#x5BF9;&#x8C61;&#x8FDB;&#x884C;&#x8F6C;&#x5316;&#xFF0C;&#x5B83;&#x8981;&#x6C42;&#x8BE5;&#x5BF9;&#x8C61;&#x4E0D;&#x80FD;&#x4E3A;&#x7A7A;&#xFF0C;&#x8F6C;&#x5316;&#x540E;&#xFF0C;&#x8BE5;&#x5BF9;&#x8C61;&#x4E00;&#x5B9A;&#x4E3A;&#x6574;&#x5F62;&#xFF0C;&#x90A3;&#x4E48;&#xFF1A;per-conditions&#x5C31;&#x662F;&#x8BE5;&#x5BF9;&#x8C61;&#x4E0D;&#x80FD;&#x4E3A;&#x7A7A;&#xFF0C;&#x800C;post-conditions&#x5C31;&#x662F;&#x8BE5;&#x5BF9;&#x8C61;&#x4E3A;&#x6574;&#x5F62;&#x3002;&#x4F8B;&#x5B50;&#x4E0D;&#x597D;&#xFF0C;&#x4F46;&#x53EF;&#x4EE5;&#x7406;&#x89E3;&#x8FD9;&#x4E24;&#x4E2A;&#x6982;&#x5FF5;&#x3002;)<br/>&#x4F60;&#x53EF;&#x80FD;&#x4F1A;&#x5199;&#x4E00;&#x4E2A;&#x79C1;&#x6709;&#x65B9;&#x6CD5;&#x6765;&#x68C0;&#x6D4B;&#x6240;&#x6709;&#x7684;&#x7C7B;&#x53CA;&#x6301;&#x4E45;&#x5BF9;&#x8C61;&#x3002;&#x8FD9;&#x4E2A;&#x65B9;&#x6CD5;&#x53EF;&#x80FD;&#x4F1A;&#x662F;&#x4E00;&#x4E2A;&#x6761;&#x4EF6;&#x7F16;&#x8BD1;&#x5757;&#xFF0C;&#x8FD9;&#x6837;&#x53EF;&#x4EE5;&#x4F7F;&#x5B83;&#x53EA;&#x5728;debug&#x65F6;&#x6709;&#x6548;&#x3002;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;private void CheckState( )<br/>{<br/>// The Old way:<br/>#if DEBUG<br/>&nbsp;&nbsp;Trace.WriteLine( &#34;Entering CheckState for Person&#34; );<br/>&nbsp;&nbsp;// Grab the name of the calling routine:<br/>&nbsp;&nbsp;string methodName =<br/>&nbsp;&nbsp;&nbsp;&nbsp;new StackTrace( ).GetFrame( 1 ).GetMethod( ).Name;<br/>&nbsp;&nbsp;Debug.Assert( _lastName != null,<br/>&nbsp;&nbsp;&nbsp;&nbsp;methodName,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#34;Last Name cannot be null&#34; );<br/>&nbsp;&nbsp;Debug.Assert( _lastName.Length &gt; 0,<br/>&nbsp;&nbsp;&nbsp;&nbsp;methodName,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#34;Last Name cannot be blank&#34; );<br/>&nbsp;&nbsp;Debug.Assert( _firstName != null,<br/>&nbsp;&nbsp;&nbsp;&nbsp;methodName,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#34;First Name cannot be null&#34; );<br/>&nbsp;&nbsp;Debug.Assert( _firstName.Length &gt; 0,<br/>&nbsp;&nbsp;&nbsp;&nbsp;methodName,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#34;First Name cannot be blank&#34; );<br/>&nbsp;&nbsp;Trace.WriteLine( &#34;Exiting CheckState for Person&#34; );<br/>#endif<br/>}<br/>&#x4F7F;&#x7528;#if&#x548C;#endif&#x7F16;&#x8BD1;&#x9009;&#x9879;(pragmas)&#xFF0C;&#x4F60;&#x5DF2;&#x7ECF;&#x4E3A;&#x4F60;&#x7684;&#x53D1;&#x5E03;&#x7248;(release)&#x7F16;&#x8BD1;&#x51FA;&#x4E86;&#x4E00;&#x4E2A;&#x7A7A;&#x65B9;&#x6CD5;&#x3002;&#x8FD9;&#x4E2A;CheckState()&#x65B9;&#x6CD5;&#x4F1A;&#x5728;&#x6240;&#x6709;&#x7684;&#x7248;&#x672C;(debug&#x548C;release)&#x4E2D;&#x8C03;&#x7528;&#x3002;&#x800C;&#x5728;release&#x4E2D;&#x5B83;&#x4EC0;&#x4E48;&#x4E5F;&#x4E0D;&#x505A;&#xFF0C;&#x4F46;&#x5B83;&#x8981;&#x88AB;&#x8C03;&#x7528;&#x3002;&#x56E0;&#x6B64;&#x4F60;&#x8FD8;&#x662F;&#x5F97;&#x4E3A;&#x4F8B;&#x884C;&#x516C;&#x4E8B;&#x7684;&#x8C03;&#x7528;&#x5B83;&#x800C;&#x4ED8;&#x51FA;&#x5C0F;&#x90E8;&#x4EFD;&#x4EE3;&#x4EF7;&#x3002;<br/>&#x4E0D;&#x7BA1;&#x600E;&#x6837;&#xFF0C;&#x4E0A;&#x9762;&#x7684;&#x5B9E;&#x8DF5;&#x662F;&#x53EF;&#x4EE5;&#x6B63;&#x786E;&#x5DE5;&#x4F5C;&#x7684;&#xFF0C;&#x4F46;&#x4F1A;&#x5BFC;&#x81F4;&#x4E00;&#x4E2A;&#x53EA;&#x4F1A;&#x51FA;&#x73B0;&#x5728;release&#x4E2D;&#x7684;&#x7EC6;&#x5C0F;BUG&#x3002;&#x4E0B;&#x9762;&#x7684;&#x5C31;&#x662F;&#x4E00;&#x4E2A;&#x5E38;&#x89C1;&#x7684;&#x9519;&#x8BEF;&#xFF0C;&#x5B83;&#x4F1A;&#x544A;&#x8BC9;&#x4F60;&#x7528;&#x6761;&#x4EF6;&#x7F16;&#x8BD1;&#x65F6;&#x4F1A;&#x53D1;&#x751F;&#x4EC0;&#x4E48;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;public void Func( )<br/>{<br/>&nbsp;&nbsp;string msg = null;<br/>#if DEBUG<br/>&nbsp;&nbsp;msg = GetDiagnostics( );<br/>#endif<br/>&nbsp;&nbsp;Console.WriteLine( msg );<br/>}<br/>&#x8FD9;&#x4E00;&#x5207;&#x5728;Debug&#x6A21;&#x5F0F;&#x4E0B;&#x5DE5;&#x4F5C;&#x7684;&#x5F88;&#x6B63;&#x5E38;&#xFF0C;&#x4F46;&#x5728;release&#x4E0B;&#x5374;&#x8F93;&#x51FA;&#x7684;&#x4E3A;&#x7A7A;&#x884C;&#x3002;release&#x6A21;&#x5F0F;&#x5F88;&#x4E50;&#x610F;&#x7ED9;&#x4F60;&#x8F93;&#x51FA;&#x4E00;&#x4E2A;&#x7A7A;&#x884C;&#xFF0C;&#x7136;&#x800C;&#x8FD9;&#x5E76;&#x4E0D;&#x662F;&#x4F60;&#x6240;&#x671F;&#x671B;&#x7684;&#x3002;&#x50BB;&#x773C;&#x4E86;&#x5427;&#xFF0C;&#x4F46;&#x7F16;&#x8BD1;&#x5668;&#x5E2E;&#x4E0D;&#x4E86;&#x4F60;&#x4EC0;&#x4E48;&#x3002;&#x4F60;&#x7684;&#x6761;&#x4EF6;&#x7F16;&#x8BD1;&#x5757;&#x91CC;&#x7684;&#x57FA;&#x7840;&#x4EE3;&#x7801;&#x786E;&#x5B9E;&#x662F;&#x8FD9;&#x6837;&#x903B;&#x8F91;&#x3002;&#x4E00;&#x4E9B;&#x96F6;&#x6563;&#x7684;#if/#endif&#x5757;&#x4F7F;&#x4F60;&#x7684;&#x4EE3;&#x7801;&#x5728;&#x4E0D;&#x540C;&#x7684;&#x7F16;&#x8BD1;&#x6761;&#x4EF6;&#x4E0B;&#x5F88;&#x96BE;&#x5F97;&#x8BCA;&#x65AD;(diagnose)&#x3002;<br/>C#&#x6709;&#x66F4;&#x597D;&#x7684;&#x9009;&#x62E9;&#xFF1A;&#x8FD9;&#x5C31;&#x662F;&#x6761;&#x4EF6;&#x5C5E;&#x6027;&#x3002;&#x7528;&#x6761;&#x4EF6;&#x5C5E;&#x6027;&#xFF0C;&#x4F60;&#x53EF;&#x4EE5;&#x5728;&#x6307;&#x5B9A;&#x7684;&#x7F16;&#x8BD1;&#x73AF;&#x5883;&#x4E0B;&#x5E9F;&#x5F03;&#x4E00;&#x4E2A;&#x7C7B;&#x7684;&#x90E8;&#x4EFD;&#x51FD;&#x6570;&#xFF0C; &#x800C;&#x8FD9;&#x4E2A;&#x73AF;&#x5883;&#x53EF;&#x662F;&#x67D0;&#x4E2A;&#x53D8;&#x91CF;&#x662F;&#x5426;&#x88AB;&#x5B9A;&#x4E49;&#xFF0C;&#x6216;&#x8005;&#x662F;&#x67D0;&#x4E2A;&#x53D8;&#x91CF;&#x5177;&#x6709;&#x660E;&#x786E;&#x7684;&#x503C;&#x3002;&#x8FD9;&#x4E00;&#x529F;&#x80FD;&#x6700;&#x5E38;&#x89C1;&#x7684;&#x7528;&#x6CD5;&#x5C31;&#x662F;&#x4F7F;&#x4F60;&#x7684;&#x4EE3;&#x7801;&#x5177;&#x6709;&#x8C03;&#x8BD5;&#x65F6;&#x53EF;&#x7528;&#x7684;&#x58F0;&#x660E;&#x3002;.Net&#x6846;&#x67B6;&#x5E93;&#x5DF2;&#x7ECF;&#x4E3A;&#x4F60;&#x63D0;&#x4F9B;&#x4E86;&#x4E86;&#x57FA;&#x672C;&#x6CDB;&#x578B;&#x529F;&#x80FD;&#x3002;&#x8FD9;&#x4E2A;&#x4F8B;&#x5B50;&#x544A;&#x8BC9;&#x4F60;&#x5982;&#x4F55;&#x4F7F;&#x7528;.net&#x6846;&#x67B6;&#x5E93;&#x91CC;&#x7684;&#x517C;&#x5BB9;&#x6027;&#x7684;&#x8C03;&#x8BD5;&#x529F;&#x80FD;&#xFF0C;&#x4E5F;&#x544A;&#x8BC9;&#x4F60;&#x6761;&#x4EF6;&#x5C5E;&#x6027;&#x662F;&#x5982;&#x4F55;&#x5DE5;&#x4F5C;&#x7684;&#x4EE5;&#x53CA;&#x4F60;&#x5728;&#x4F55;&#x65F6;&#x5E94;&#x8BE5;&#x6DFB;&#x52A0;&#x5B83;&#xFF1A;<br/>&#x5F53;&#x4F60;&#x5EFA;&#x7ACB;&#x4E86;&#x4E00;&#x4E2A;Person&#x7684;&#x5BF9;&#x8C61;&#x65F6;&#xFF0C;&#x4F60;&#x6DFB;&#x52A0;&#x4E86;&#x4E00;&#x4E2A;&#x65B9;&#x6CD5;&#x6765;&#x9A8C;&#x8BC1;&#x5BF9;&#x8C61;&#x7684;&#x4E0D;&#x53D8;&#x6570;&#x636E;(invariants)&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;private void CheckState( )<br/>{<br/>&nbsp;&nbsp;// Grab the name of the calling routine:<br/>&nbsp;&nbsp;string methodName =<br/>&nbsp;&nbsp;&nbsp;&nbsp;new StackTrace( ).GetFrame( 1 ).GetMethod( ).Name;<br/>&nbsp;&nbsp;Trace.WriteLine( &#34;Entering CheckState for Person:&#34; );<br/>&nbsp;&nbsp;Trace.Write( &#34;\tcalled by &#34; );<br/>&nbsp;&nbsp;Trace.WriteLine( methodName );<br/>&nbsp;&nbsp;Debug.Assert( _lastName != null,<br/>&nbsp;&nbsp;&nbsp;&nbsp;methodName,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#34;Last Name cannot be null&#34; );<br/>&nbsp;&nbsp;Debug.Assert( _lastName.Length &gt; 0,<br/>&nbsp;&nbsp;&nbsp;&nbsp;methodName,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#34;Last Name cannot be blank&#34; );<br/>&nbsp;&nbsp;Debug.Assert( _firstName != null,<br/>&nbsp;&nbsp;&nbsp;&nbsp;methodName,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#34;First Name cannot be null&#34; );<br/>&nbsp;&nbsp;Debug.Assert( _firstName.Length &gt; 0,<br/>&nbsp;&nbsp;&nbsp;&nbsp;methodName,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#34;First Name cannot be blank&#34; );<br/>&nbsp;&nbsp;Trace.WriteLine( &#34;Exiting CheckState for Person&#34; );<br/>}<br/>&#x8FD9;&#x8FD9;&#x4E2A;&#x65B9;&#x6CD5;&#x4E0A;&#xFF0C;&#x4F60;&#x53EF;&#x80FD;&#x4E0D;&#x5FC5;&#x7528;&#x5230;&#x592A;&#x591A;&#x7684;&#x5E93;&#x51FD;&#x6570;&#xFF0C;&#x8BA9;&#x6211;&#x7B80;&#x5316;&#x4E00;&#x4E0B;&#x3002;&#x8FD9;&#x4E2A;StackTrace &#x7C7B;&#x901A;&#x8FC7;&#x53CD;&#x5C04;&#x53D6;&#x5F97;&#x4E86;&#x8C03;&#x7528;&#x65B9;&#x6CD5;&#x7684;&#x7684;&#x540D;&#x5B57;&#x3002;&#x8FD9;&#x6837;&#x7684;&#x4EE3;&#x4EF7;&#x662F;&#x6602;&#x8D35;&#x7684;&#xFF0C;&#x4F46;&#x5B83;&#x786E;&#x5B9E;&#x5F88;&#x597D;&#x7684;&#x7B80;&#x5316;&#x4E86;&#x5DE5;&#x4F5C;&#xFF0C;&#x4F8B;&#x5982;&#x751F;&#x6210;&#x7A0B;&#x5E8F;&#x6D41;&#x7A0B;&#x7684;&#x4FE1;&#x606F;&#x3002;&#x8FD9;&#x91CC;&#xFF0C;&#x65AD;&#x5B9A;&#x4E86;CheckState&#x6240;&#x8C03;&#x7528;&#x7684;&#x65B9;&#x6CD5;&#x7684;&#x540D;&#x5B57;&#x3002;&#x88AB;&#x5224;&#x5B9A;(determining)&#x7684;&#x65B9;&#x6CD5;&#x662F;System.Diagnostics.Debug&#x7C7B;&#x7684;&#x4E00;&#x90E8;&#x4EFD;&#xFF0C;&#x6216;&#x8005;&#x662F;System.Diagnostics.Trace&#x7C7B;&#x7684;&#x4E00;&#x90E8;&#x4EFD;&#x3002;Degbug.Assert&#x65B9;&#x6CD5;&#x7528;&#x6765;&#x6D4B;&#x8BD5;&#x6761;&#x4EF6;&#x662F;&#x5426;&#x6EE1;&#x8DB3;&#xFF0C;&#x5E76;&#x5728;&#x6761;&#x4EF6;&#x4E3A;false&#x65F6;&#x4F1A;&#x7EC8;&#x6B62;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x3002;&#x5269;&#x4E0B;&#x7684;&#x53C2;&#x6570;&#x5B9A;&#x4E49;&#x4E86;&#x5728;&#x65AD;&#x8A00;&#x5931;&#x8D25;&#x540E;&#x8981;&#x6253;&#x5370;&#x7684;&#x6D88;&#x606F;&#x3002;Trace.WriteLine&#x8F93;&#x51FA;&#x8BCA;&#x65AD;&#x6D88;&#x606F;&#x5230;&#x8C03;&#x8BD5;&#x63A7;&#x5236;&#x53F0;&#x3002;&#x56E0;&#x6B64;&#xFF0C;&#x8FD9;&#x4E2A;&#x65B9;&#x6CD5;&#x4F1A;&#x5728;Person&#x5BF9;&#x8C61;&#x4E0D;&#x5408;&#x6CD5;&#x65F6;&#x8F93;&#x51FA;&#x6D88;&#x606F;&#x5230;&#x8C03;&#x8BD5;&#x63A7;&#x5236;&#x53F0;&#xFF0C;&#x5E76;&#x7EC8;&#x6B62;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x3002;&#x4F60;&#x53EF;&#x4EE5;&#x628A;&#x5B83;&#x505A;&#x4E3A;&#x4E00;&#x4E2A;&#x5148;&#x51B3;&#x6761;&#x4EF6;&#x6216;&#x8005;&#x540E;&#x7EE7;&#x6761;&#x4EF6;&#xFF0C;&#x5728;&#x6240;&#x6709;&#x7684;&#x516C;&#x5171;&#x65B9;&#x6CD5;&#x6216;&#x8005;&#x5C5E;&#x6027;&#x4E0A;&#x8C03;&#x7528;&#x8FD9;&#x4E2A;&#x65B9;&#x6CD5;&#x3002;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;public string LastName<br/>{<br/>&nbsp;&nbsp;get<br/>&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;CheckState( );<br/>&nbsp;&nbsp;&nbsp;&nbsp;return _lastName;<br/>&nbsp;&nbsp;}<br/>&nbsp;&nbsp;set<br/>&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;CheckState( );<br/>&nbsp;&nbsp;&nbsp;&nbsp;_lastName = value;<br/>&nbsp;&nbsp;&nbsp;&nbsp;CheckState( );<br/>&nbsp;&nbsp;}<br/>}&#x5728;&#x67D0;&#x4EBA;&#x8BD5;&#x56FE;&#x7ED9;LastName&#x8D4B;&#x7A7A;&#x503C;&#x6216;&#x8005;null&#x65F6;&#xFF0C;CheckState&#x4F1A;&#x5728;&#x7B2C;&#x4E00;&#x65F6;&#x95F4;&#x5F15;&#x53D1;&#x4E00;&#x4E2A;&#x65AD;&#x8A00;&#x3002;&#x7136;&#x540E;&#x4F60;&#x5C31;&#x53EF;&#x4EE5;&#x4FEE;&#x6B63;&#x4F60;&#x7684;&#x5C5E;&#x6027;&#x8BBE;&#x7F6E;&#x5668;&#xFF0C;&#x6765;&#x4E3A;LastName&#x7684;&#x53C2;&#x6570;&#x505A;&#x9A8C;&#x8BC1;&#x3002;&#x8FD9;&#x5C31;&#x662F;&#x4F60;&#x60F3;&#x8981;&#x7684;&#x3002;<br/>&#x4F46;&#x8FD9;&#x6837;&#x7684;&#x989D;&#x5916;&#x68C0;&#x6D4B;&#x5B58;&#x5728;&#x4E8E;&#x6BCF;&#x6B21;&#x7684;&#x4F8B;&#x884C;&#x4EFB;&#x52A1;&#x91CC;&#x3002;&#x4F60;&#x5E0C;&#x671B;&#x53EA;&#x5728;&#x8C03;&#x8BD5;&#x7248;&#x4E2D;&#x624D;&#x505A;&#x989D;&#x5916;&#x7684;&#x9A8C;&#x8BC1;&#x3002;&#x8FD9;&#x65F6;&#x5019;&#x6761;&#x4EF6;&#x5C5E;&#x6027;&#x5C31;&#x5E94;&#x8FD0;&#x800C;&#x751F;&#x4E86;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;[ Conditional( &#34;DEBUG&#34; ) ]<br/>private void CheckState( )<br/>{<br/>&nbsp;&nbsp;// same code as above<br/>}<br/>Conditional&#x5C5E;&#x6027;&#x4F1A;&#x544A;&#x8BC9;C#&#x7F16;&#x8BD1;&#x5668;&#xFF0C;&#x8FD9;&#x4E2A;&#x65B9;&#x6CD5;&#x53EA;&#x5728;&#x7F16;&#x8BD1;&#x73AF;&#x5883;&#x53D8;&#x91CF;DEBUG&#x6709;&#x5B9A;&#x4E49;&#x65F6;&#x624D;&#x88AB;&#x8C03;&#x7528;&#x3002;&#x540C;&#x65F6;&#xFF0C;Conditional&#x5C5E;&#x6027;&#x4E0D;&#x4F1A;&#x5F71;&#x54CD;CheckState()&#x51FD;&#x6570;&#x751F;&#x6210;&#x7684;&#x4EE3;&#x7801;&#xFF0C;&#x53EA;&#x662F;&#x4FEE;&#x6539;&#x5BF9;&#x51FD;&#x6570;&#x7684;&#x8C03;&#x7528;&#x3002;&#x5982;&#x679C;DEBGU&#x6807;&#x8BB0;&#x88AB;&#x5B9A;&#x4E49;&#xFF0C;&#x4F60;&#x53EF;&#x4EE5;&#x5F97;&#x5230;&#x8FD9;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;public string LastName<br/>{<br/>&nbsp;&nbsp;get<br/>&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;CheckState( );<br/>&nbsp;&nbsp;&nbsp;&nbsp;return _lastName;<br/>&nbsp;&nbsp;}<br/>&nbsp;&nbsp;set<br/>&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;CheckState( );<br/>&nbsp;&nbsp;&nbsp;&nbsp;_lastName = value;<br/>&nbsp;&nbsp;&nbsp;&nbsp;CheckState( );<br/>&nbsp;&nbsp;}<br/>}<br/>&#x5982;&#x679C;&#x4E0D;&#x662F;&#xFF0C;&#x4F60;&#x5F97;&#x5230;&#x7684;&#x5C31;&#x662F;&#x8FD9;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;public string LastName<br/>{<br/>&nbsp;&nbsp;get<br/>&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;return _lastName;<br/>&nbsp;&nbsp;}<br/>&nbsp;&nbsp;set<br/>&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;_lastName = value;<br/>&nbsp;&nbsp;}<br/>}<br/>&#x4E0D;&#x7BA1;&#x73AF;&#x5883;&#x53D8;&#x91CF;&#x7684;&#x72B6;&#x6001;&#x5982;&#x4F55;&#xFF0C;CheckState()&#x7684;&#x51FD;&#x6570;&#x4F53;&#x662F;&#x4E00;&#x6837;&#x7684;&#x3002;&#x8FD9;&#x53EA;&#x662F;&#x4E00;&#x4E2A;&#x4F8B;&#x5B50;&#xFF0C;&#x5B83;&#x544A;&#x8BC9;&#x4F60;&#x4E3A;&#x4EC0;&#x4E48;&#x8981;&#x5F04;&#x660E;&#x767D;.Net&#x91CC;&#x7F16;&#x8BD1;&#x548C;JIT&#x4E4B;&#x95F4;&#x7684;&#x533A;&#x522B;&#x3002;&#x4E0D;&#x7BA1;DEBUG&#x73AF;&#x5883;&#x53D8;&#x91CF;&#x662F;&#x5426;&#x88AB;&#x5B9A;&#x4E49;&#xFF0C;CheckState()&#x65B9;&#x6CD5;&#x603B;&#x4F1A;&#x88AB;&#x7F16;&#x8BD1;&#x4E14;&#x5B58;&#x5728;&#x4E8E;&#x7A0B;&#x5E8F;&#x96C6;&#x4E2D;&#x3002;&#x8FD9;&#x6216;&#x8BB8;&#x770B;&#x4E0A;&#x53BB;&#x662F;&#x4F4E;&#x6548;&#x7684;&#xFF0C;&#x4F46;&#x8FD9;&#x53EA;&#x662F;&#x5360;&#x7528;&#x4E00;&#x70B9;&#x786C;&#x76D8;&#x7A7A;&#x95F4;&#xFF0C;CheckState()&#x51FD;&#x6570;&#x4E0D;&#x4F1A;&#x88AB;&#x8F7D;&#x5165;&#x5230;&#x5185;&#x5B58;&#xFF0C;&#x66F4;&#x4E0D;&#x4F1A;&#x88AB;JITed(&#x8BD1;&#x6CE8;&#xFF1A;&#x8FD9;&#x91CC;&#x7684;JITed&#x662F;&#x6307;&#x771F;&#x6B63;&#x7684;&#x7F16;&#x8BD1;&#x4E3A;&#x673A;&#x5668;&#x4EE3;&#x7801;)&#xFF0C;&#x9664;&#x975E;&#x5B83;&#x88AB;&#x8C03;&#x7528;&#x3002;&#x5B83;&#x5B58;&#x5728;&#x4E8E;&#x7A0B;&#x5E8F;&#x96C6;&#x6587;&#x4EF6;&#x91CC;&#x5E76;&#x4E0D;&#x662F;&#x672C;&#x8D28;&#x95EE;&#x9898;&#x3002;&#x8FD9;&#x6837;&#x7684;&#x7B56;&#x7565;&#x662F;&#x589E;&#x5F3A;(&#x7A0B;&#x5E8F;&#x7684;)&#x53EF;&#x4F38;&#x7F29;&#x6027;&#x7684;&#xFF0C;&#x5E76;&#x4E14;&#x8FD9;&#x6837;&#x53EA;&#x662F;&#x4E00;&#x70B9;&#x5FAE;&#x4E0D;&#x8DB3;&#x9053;&#x7684;&#x6027;&#x80FD;&#x5F00;&#x9500;&#x3002;&#x4F60;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x67E5;&#x770B;.Net&#x6846;&#x67B6;&#x5E93;&#x4E2D;Debug&#x7C7B;&#x800C;&#x5F97;&#x5230;&#x66F4;&#x6DF1;&#x5165;&#x7684;&#x7406;&#x89E3;&#x3002;&#x5728;&#x4EFB;&#x4F55;&#x4E00;&#x53F0;&#x5B89;&#x88C5;&#x4E86;.Net&#x6846;&#x67B6;&#x5E93;&#x7684;&#x673A;&#x5668;&#x4E0A;&#xFF0C;System.dll&#x7A0B;&#x5E8F;&#x96C6;&#x5305;&#x542B;&#x4E86;Debug&#x7C7B;&#x7684;&#x6240;&#x6709;&#x65B9;&#x6CD5;&#x7684;&#x4EE3;&#x7801;&#x3002;&#x7531;&#x73AF;&#x5883;&#x53D8;&#x91CF;&#x5728;&#x7F16;&#x8BD1;&#x65F6;&#x6765;&#x51B3;&#x5B9A;&#x662F;&#x5426;&#x8BA9;&#x7531;&#x8C03;&#x7528;&#x8005;&#x6765;&#x8C03;&#x7528;&#x5B83;&#x4EEC;&#x3002;<br/>&#x4F60;&#x540C;&#x6837;&#x53EF;&#x4EE5;&#x5199;&#x4E00;&#x4E2A;&#x65B9;&#x6CD5;&#xFF0C;&#x8BA9;&#x5B83;&#x4F9D;&#x61D2;&#x4E8E;&#x4E0D;&#x53EA;&#x4E00;&#x4E2A;&#x73AF;&#x5883;&#x53D8;&#x91CF;&#x3002;&#x5F53;&#x4F60;&#x5E94;&#x7528;&#x591A;&#x4E2A;&#x73AF;&#x5883;&#x53D8;&#x91CF;&#x6765;&#x63A7;&#x5236;&#x6761;&#x4EF6;&#x5C5E;&#x6027;&#x65F6;&#xFF0C;&#x4ED6;&#x4EEC;&#x65F6;&#x4EE5;or&#x7684;&#x5F62;&#x5F0F;&#x5E76;&#x5217;&#x7684;&#x3002;&#x4F8B;&#x5982;&#xFF0C;&#x4E0B;&#x9762;&#x8FD9;&#x4E2A;&#x7248;&#x672C;&#x7684;CheckState&#x4F1A;&#x5728;DEBUG&#x6216;&#x8005;TRACE&#x4E3A;&#x771F;&#x65F6;&#x88AB;&#x8C03;&#x7528;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;[ Conditional( &#34;DEBUG&#34; ),<br/>&nbsp;&nbsp;Conditional( &#34;TRACE&#34; ) ]<br/>private void CheckState()<br/>&#x5982;&#x679C;&#x8981;&#x4EA7;&#x751F;&#x4E00;&#x4E2A;and&#x7684;&#x5E76;&#x5217;&#x6761;&#x4EF6;&#x5C5E;&#x6027;&#xFF0C;&#x4F60;&#x5C31;&#x8981;&#x81EA;&#x5DF1;&#x4E8B;&#x5148;&#x76F4;&#x63A5;&#x5728;&#x4EE3;&#x7801;&#x91CC;&#x4F7F;&#x7528;&#x9884;&#x5904;&#x7406;&#x547D;&#x4EE4;&#x5B9A;&#x4E49;&#x4E00;&#x4E2A;&#x6807;&#x8BB0;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;#if ( VAR1 &amp;&amp; VAR2 )<br/>#define BOTH<br/>#endif<br/>&#x662F;&#x7684;&#xFF0C;&#x4E3A;&#x4E86;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x4F9D;&#x61D2;&#x4E8E;&#x524D;&#x9762;&#x591A;&#x4E2A;&#x73AF;&#x5883;&#x53D8;&#x91CF;&#x7684;&#x6761;&#x4EF6;&#x4F8B;&#x7A0B;(conditional routine)&#xFF0C;&#x4F60;&#x4E0D;&#x5F97;&#x4E0D;&#x9000;&#x5230;&#x5F00;&#x59CB;&#x65F6;&#x4F7F;&#x7528;&#x7684;#if&#x5B9E;&#x8DF5;&#x4E2D;&#x4E86;&#x3002;#if&#x4E3A;&#x6211;&#x4EEC;&#x4EA7;&#x751F;&#x4E00;&#x4E2A;&#x65B0;&#x7684;&#x6807;&#x8BB0;&#xFF0C;&#x4F46;&#x907F;&#x514D;&#x5728;&#x7F16;&#x8BD1;&#x9009;&#x9879;&#x5185;&#x6DFB;&#x52A0;&#x4EFB;&#x4F55;&#x53EF;&#x8FD0;&#x884C;&#x7684;&#x4EE3;&#x7801;&#x3002;<br/>Conditional&#x5C5E;&#x6027;&#x53EA;&#x80FD;&#x7528;&#x5728;&#x65B9;&#x6CD5;&#x7684;&#x5B9E;&#x4F53;&#x4E0A;&#xFF0C;&#x53E6;&#x5916;&#xFF0C;&#x5FC5;&#x987B;&#x662F;&#x4E00;&#x4E2A;&#x8FD4;&#x56DE;&#x7C7B;&#x578B;&#x4E3A;void&#x7684;&#x65B9;&#x6CD5;&#x3002;&#x4F60;&#x4E0D;&#x80FD;&#x5728;&#x65B9;&#x6CD5;&#x5185;&#x7684;&#x67D0;&#x4E2A;&#x4EE3;&#x7801;&#x5757;&#x4E0A;&#x4F7F;&#x7528;Conditional&#xFF0C;&#x4E5F;&#x4E0D;&#x80FD;&#x5728;&#x4E00;&#x4E2A;&#x6709;&#x8FD4;&#x56DE;&#x503C;&#x7684;&#x65B9;&#x6CD5;&#x4E0A;&#x4F7F;&#x7528;Conditional&#x5C5E;&#x6027;&#x3002;&#x53D6;&#x800C;&#x4EE3;&#x4E4B;&#x7684;&#x662F;&#xFF0C;&#x4F60;&#x8981;&#x7EC6;&#x5FC3;&#x6784;&#x5EFA;&#x4E00;&#x4E2A;&#x6761;&#x4EF6;&#x65B9;&#x6CD5;&#xFF0C;&#x5E76;&#x5728;&#x90A3;&#x4E9B;&#x65B9;&#x6CD5;&#x4E0A;&#x5E9F;&#x5F03;&#x6761;&#x4EF6;&#x5C5E;&#x6027;&#x884C;&#x4E3A;&#x3002;&#x4F60;&#x4ECD;&#x7136;&#x8981;&#x56DE;&#x987E;&#x4E00;&#x4E0B;&#x90A3;&#x4E9B;&#x5177;&#x6709;&#x6761;&#x4EF6;&#x5C5E;&#x6027;&#x7684;&#x65B9;&#x6CD5;&#xFF0C;&#x770B;&#x5B83;&#x662F;&#x5426;&#x5BF9;&#x5BF9;&#x8C61;&#x7684;&#x72B6;&#x6001;&#x5177;&#x6709;&#x526F;&#x4F5C;&#x7528;&#x3002;&#x4F46;Conditional&#x5C5E;&#x6027;&#x5728;&#x5B89;&#x7F6E;&#x8FD9;&#x4E9B;&#x95EE;&#x9898;&#x4E0A;&#x6BD4;#if/#endif&#x8981;&#x597D;&#x5F97;&#x591A;&#x3002;&#x5728;&#x4F7F;&#x7528;#if/#endif&#x5757;&#x65F6;&#xFF0C;&#x4F60;&#x5F88;&#x53EF;&#x80FD;&#x9519;&#x8BEF;&#x7684;&#x79FB;&#x9664;&#x4E86;&#x4E00;&#x4E2A;&#x91CD;&#x8981;&#x7684;&#x65B9;&#x6CD5;&#x8C03;&#x7528;&#x6216;&#x8005;&#x4E00;&#x4E9B;&#x914D;&#x7F6E;&#x3002;<br/>&#x524D;&#x9762;&#x7684;&#x4F8B;&#x5B50;&#x5408;&#x7528;&#x9884;&#x5148;&#x5B9A;&#x4E49;&#x7684;DEBUG&#x6216;&#x8005;TRACE&#x6807;&#x8BB0;&#xFF0C;&#x4F46;&#x4F60;&#x53EF;&#x4EE5;&#x7528;&#x8FD9;&#x4E2A;&#x6280;&#x5DE7;&#xFF0C;&#x6269;&#x5C55;&#x5230;&#x4EFB;&#x4F55;&#x4F60;&#x60F3;&#x8981;&#x7684;&#x7B26;&#x53F7;&#x4E0A;&#x3002;Conditional&#x5C5E;&#x6027;&#x53EF;&#x4EE5;&#x7531;&#x5B9A;&#x4E49;&#x6807;&#x8BB0;&#x6765;&#x7075;&#x6D3B;&#x7684;&#x63A7;&#x5236;&#x3002;&#x4F60;&#x53EF;&#x4EE5;&#x5728;&#x7F16;&#x8BD1;&#x547D;&#x4EE4;&#x884C;&#x4E0A;&#x5B9A;&#x4E49;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x5728;&#x7CFB;&#x7EDF;&#x73AF;&#x5883;&#x53D8;&#x91CF;&#x91CC;&#x5B9A;&#x4E49;&#xFF0C;&#x6216;&#x8005;&#x4ECE;&#x6E90;&#x4EE3;&#x7801;&#x7684;&#x7F16;&#x8BD1;&#x9009;&#x62E9;&#x91CC;&#x5B9A;&#x4E49;&#x3002;<br/>&#x4F7F;&#x7528;Conditional&#x5C5E;&#x6027;&#x53EF;&#x4EE5;&#x6BD4;&#x4F7F;&#x7528;#if/#endif&#x751F;&#x6210;&#x66F4;&#x9AD8;&#x6548;&#x7684;IL&#x4EE3;&#x7801;&#x3002;&#x5728;&#x4E13;&#x95E8;&#x9488;&#x5BF9;&#x51FD;&#x6570;&#x65F6;&#xFF0C;&#x5B83;&#x66F4;&#x6709;&#x4F18;&#x52BF;&#xFF0C;&#x5B83;&#x4F1A;&#x5F3A;&#x5236;&#x4F60;&#x5728;&#x6761;&#x4EF6;&#x4EE3;&#x7801;&#x4E0A;&#x4F7F;&#x7528;&#x66F4;&#x597D;&#x7684;&#x7ED3;&#x6784;&#x3002;&#x7F16;&#x8BD1;&#x5668;&#x4F7F;&#x7528;Conditional&#x5C5E;&#x6027;&#x6765;&#x5E2E;&#x52A9;&#x4F60;&#x907F;&#x514D;&#x56E0;&#x4F7F;&#x7528;#if/#endif&#x800C;&#x4EA7;&#x751F;&#x7684;&#x5E38;&#x89C1;&#x7684;&#x9519;&#x8BEF;&#x3002;&#x6761;&#x4EF6;&#x5C5E;&#x6027;&#x6BD4;&#x8D77;&#x9884;&#x5904;&#x7406;&#xFF0C;&#x5B83;&#x4E3A;&#x4F60;&#x533A;&#x5206;&#x6761;&#x4EF6;&#x4EE3;&#x7801;&#x63D0;&#x4F9B;&#x4E86;&#x66F4;&#x597D;&#x7684;&#x652F;&#x6301;&#x3002;</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.643&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card><card id="postCommentCard"><p><b>&#x6807;&#x9898;&#x3A;</b> <a href="#MainCard">&#x45;&#x66;&#x66;&#x65;&#x63;&#x74;&#x69;&#x76;&#x65;&#x20;&#x43;&#x23;&#x20;&#x539F;&#x5219;&#x34;&#xFF1A;&#x7528;&#x6761;&#x4EF6;&#x5C5E;&#x6027;&#x800C;&#x4E0D;&#x662F;&#x23;&#x69;&#x66;&#x9884;&#x7F16;&#x8BD1;&#x5757;</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.658&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.658&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card>
</wml>
