
<?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> &#x8868;&#x8FBE;&#x5F0F;&#x6811;&#x45;&#x78;&#x70;&#x72;&#x65;&#x73;&#x73;&#x69;&#x6F;&#x6E;&#x54;&#x72;&#x65;&#x65;&#x5B;&#x8F6C;&#x5D;</p><p><b>&#x4F5C;&#x8005;&#x3A;</b> &#x64;&#x6E;&#x61;&#x77;&#x6F;</p><p><b>&#x65E5;&#x671F;&#x3A;</b> &#x32;&#x30;&#x31;&#x34;&#x2D;&#x31;&#x32;&#x2D;&#x32;&#x35;&#x20;&#x30;&#x36;&#x3A;&#x34;&#x32;&#x20;&#x50;&#x4D;</p><p><b>&#x5206;&#x7C7B;&#x3A;</b> <a href="wap.asp?do=showLog&amp;cateID=2">&#x5176;&#x4ED6;</a></p><p><b>&#x5185;&#x5BB9;&#x3A;</b> &#x521A;&#x63A5;&#x89E6;LINQ&#x7684;&#x4EBA;&#x5F80;&#x5F80;&#x89C9;&#x5F97;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#x5F88;&#x4E0D;&#x5BB9;&#x6613;&#x7406;&#x89E3;&#xFF0C;&#x901A;&#x8FC7;&#x8FD9;&#x7BC7;&#x6587;&#x7AE0;&#x6211;&#x5E0C;&#x671B;&#x5927;&#x5BB6;&#x770B;&#x5230;&#x5B83;&#x5176;&#x5B9E;&#x5E76;&#x4E0D;&#x50CF;&#x60F3;&#x8C61;&#x4E2D;&#x90A3;&#x4E48;&#x96BE;&#xFF0C;&#x60A8;&#x53EA;&#x8981;&#x6709;&#x666E;&#x901A;&#x7684;LINQ&#x77E5;&#x8BC6;&#x4FBF;&#x53EF;&#x4EE5;&#x8F7B;&#x677E;&#x7406;&#x89E3;&#x672C;&#x6587;&#x3002;<br/>&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#x63D0;&#x4F9B;&#x4E00;&#x4E2A;&#x5C06;&#x53EF;&#x6267;&#x884C;&#x4EE3;&#x7801;&#x8F6C;&#x6362;&#x6210;&#x6570;&#x636E;&#x7684;&#x65B9;&#x6CD5;&#xFF0C;&#x5982;&#x679C;&#x4F60;&#x8981;&#x5728;&#x6267;&#x884C;&#x4EE3;&#x7801;&#x4E4B;&#x524D;&#x4FEE;&#x6539;&#x6216;&#x8F6C;&#x6362;&#x6B64;&#x4EE3;&#x7801;&#xFF0C;&#x90A3;&#x4E48;&#x5B83;&#x662F;&#x975E;&#x5E38;&#x6709;&#x4EF7;&#x503C;&#x7684;&#xFF0C;&#x5C24;&#x5176;&#x662F;&#x5F53;&#x4F60;&#x8981;&#x5C06;C#&#x4EE3;&#x7801;----&#x5982;LINQ&#x67E5;&#x8BE2;&#x8868;&#x8FBE;&#x5F0F;&#x8F6C;&#x6362;&#x6210;&#x5176;&#x4ED6;&#x4EE3;&#x7801;&#x5728;&#x53E6;&#x4E00;&#x4E2A;&#x7A0B;&#x5E8F;----&#x5982;SQL&#x6570;&#x636E;&#x5E93;&#x91CC;&#x64CD;&#x4F5C;&#x5B83;&#x3002;<br/>&#x4F46;&#x662F;&#x6211;&#x5728;&#x8FD9;&#x91CC;&#x98A0;&#x5012;&#x987A;&#x5E8F;&#xFF0C;&#x5728;&#x6587;&#x7AE0;&#x6700;&#x540E;&#x4F60;&#x5F88;&#x5BB9;&#x6613;&#x53D1;&#x73B0;&#x4E3A;&#x4EC0;&#x4E48;&#x5C06;&#x4EE3;&#x7801;&#x8F6C;&#x6362;&#x5230;&#x6570;&#x636E;&#x4E2D;&#x53BB;&#x5F88;&#x6709;&#x7528;&#x3002;&#x9996;&#x5148;&#x6211;&#x9700;&#x8981;&#x63D0;&#x4F9B;&#x4E00;&#x70B9;&#x80CC;&#x666F;&#x77E5;&#x8BC6;&#xFF0C;&#x8BA9;&#x6211;&#x4EEC;&#x5F00;&#x59CB;&#x770B;&#x770B;&#x76F8;&#x5173;&#x7684;&#x521B;&#x5EFA;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#x7684;&#x7B80;&#x5355;&#x8BED;&#x6CD5;&#x3002;<br/>&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#x7684;&#x8BED;&#x6CD5;<br/>&#x8003;&#x8651;&#x4E0B;&#x9762;&#x7B80;&#x5355;&#x7684;Lambda&#x8868;&#x8FBE;&#x5F0F;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;Func&lt;int, int, int&gt; function = (a,b) =&gt; a + b;<br/>&#x8FD9;&#x4E2A;&#x8BED;&#x53E5;&#x5305;&#x542B;&#x4E09;&#x4E2A;&#x90E8;&#x5206;&#xFF1A;<br/>&#x4E00;&#x4E2A;&#x58F0;&#x660E;: Func&lt;int, int, int&gt; function<br/>&#x4E00;&#x4E2A;&#x7B49;&#x53F7;: =<br/>&#x4E00;&#x4E2A;lambda&#x8868;&#x8FBE;&#x5F0F;: (a,b) =&gt; a + b;<br/>&#x53D8;&#x91CF;function&#x6307;&#x5411;&#x4E24;&#x4E2A;&#x6570;&#x5B57;&#x76F8;&#x52A0;&#x7684;&#x539F;&#x751F;&#x53EF;&#x6267;&#x884C;&#x4EE3;&#x7801;&#xFF0C;&#x4E0A;&#x9762;&#x4E09;&#x6B65;&#x7684;lambda&#x8868;&#x8FBE;&#x5F0F;&#x8868;&#x793A;&#x4E00;&#x4E2A;&#x7B80;&#x77ED;&#x7684;&#x5982;&#x4E0B;&#x7684;&#x624B;&#x5199;&#x65B9;&#x6CD5;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;public int function(int a, int b)<br/>{<br/>&nbsp;&nbsp;return a + b;<br/>}<br/>&#x4E0A;&#x9762;&#x7684;&#x65B9;&#x6CD5;&#x6216;lambda&#x8868;&#x8FBE;&#x5F0F;&#x90FD;&#x53EF;&#x4EE5;&#x8FD9;&#x6837;&#x8C03;&#x7528;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;int c = function(3, 5);<br/>&#x5F53;&#x65B9;&#x6CD5;&#x8C03;&#x7528;&#x540E;&#xFF0C;&#x53D8;&#x91CF;c&#x5C06;&#x88AB;&#x8BBE;&#x6210;3+5&#xFF0C;&#x5373;8&#x3002;<br/>&#x4E0A;&#x9762;&#x58F0;&#x660E;&#x4E2D;&#x7B2C;&#x4E00;&#x6B65;&#x59D4;&#x6258;&#x7C7B;&#x578B;Func&#x662F;&#x5728;System&#x547D;&#x540D;&#x7A7A;&#x95F4;&#x4E2D;&#x4E3A;&#x6211;&#x4EEC;&#x5B9A;&#x4E49;&#x597D;&#x7684;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;public delegate TResult Func&lt;T1, T2, TResult&gt;(T1 arg1, T2 arg2);<br/>&#x8FD9;&#x4E2A;&#x4EE3;&#x7801;&#x770B;&#x4E0A;&#x53BB;&#x5F88;&#x590D;&#x6742;&#xFF0C;&#x4F46;&#x5B83;&#x5728;&#x8FD9;&#x91CC;&#x53EA;&#x662F;&#x7528;&#x6765;&#x5E2E;&#x6211;&#x4EEC;&#x5B9A;&#x4E49;&#x53D8;&#x91CF;function&#xFF0C;&#x53D8;&#x91CF;function&#x8D4B;&#x503C;&#x4E3A;&#x975E;&#x5E38;&#x7B80;&#x5355;&#x7684;&#x4E24;&#x4E2A;&#x6570;&#x5B57;&#x76F8;&#x52A0;&#x7684;lambda&#x8868;&#x8FBE;&#x5F0F;&#xFF0C;&#x5373;&#x4F7F;&#x4F60;&#x4E0D;&#x61C2;&#x59D4;&#x6258;&#x548C;&#x6CDB;&#x578B;&#xFF0C;&#x4F60;&#x4ECD;&#x7136;&#x5E94;&#x8BE5;&#x6E05;&#x695A;&#x8FD9;&#x662F;&#x4E00;&#x4E2A;&#x58F0;&#x660E;&#x53EF;&#x6267;&#x884C;&#x4EE3;&#x7801;&#x53D8;&#x91CF;&#x5F15;&#x7528;&#x7684;&#x65B9;&#x6CD5;&#xFF0C;&#x5728;&#x8FD9;&#x4E2A;&#x4F8B;&#x5B50;&#x91CC;&#x5B83;&#x6307;&#x5411;&#x4E00;&#x4E2A;&#x975E;&#x5E38;&#x7B80;&#x5355;&#x7684;&#x53EF;&#x6267;&#x884C;&#x4EE3;&#x7801;&#x3002;<br/>&#x5C06;&#x4EE3;&#x7801;&#x8F6C;&#x6362;&#x5230;&#x6570;&#x636E;&#x4E2D;<br/>&#x5728;&#x4E0A;&#x4E00;&#x8282;&#xFF0C;&#x4F60;&#x770B;&#x5230;&#x600E;&#x4E48;&#x58F0;&#x660E;&#x4E00;&#x4E2A;&#x6307;&#x5411;&#x539F;&#x751F;&#x53EF;&#x6267;&#x884C;&#x4EE3;&#x7801;&#x7684;&#x53D8;&#x91CF;&#x3002;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#x4E0D;&#x662F;&#x53EF;&#x6267;&#x884C;&#x4EE3;&#x7801;&#xFF0C;&#x5B83;&#x662F;&#x4E00;&#x79CD;&#x6570;&#x636E;&#x7ED3;&#x6784;&#x3002;&#x90A3;&#x4E48;&#x6211;&#x4EEC;&#x600E;&#x4E48;&#x4ECE;&#x8868;&#x8FBE;&#x5F0F;&#x7684;&#x539F;&#x751F;&#x4EE3;&#x7801;&#x8F6C;&#x6362;&#x6210;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#xFF1F;&#x600E;&#x4E48;&#x4ECE;&#x4EE3;&#x7801;&#x8F6C;&#x6362;&#x6210;&#x6570;&#x636E;&#xFF1F;<br/>LINQ&#x63D0;&#x4F9B;&#x4E00;&#x4E2A;&#x7B80;&#x5355;&#x8BED;&#x6CD5;&#x7528;&#x6765;&#x5C06;&#x4EE3;&#x7801;&#x8F6C;&#x6362;&#x5230;&#x540D;&#x53EB;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#x7684;&#x6570;&#x636E;&#x7ED3;&#x6784;&#xFF0C;&#x9996;&#x5148;&#x6DFB;&#x52A0;using&#x8BED;&#x53E5;&#x5F15;&#x5165;Linq.Expressions&#x547D;&#x540D;&#x7A7A;&#x95F4;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;using System.Linq.Expressions;<br/>&#x73B0;&#x5728;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;Expression&lt;Func&lt;int, int, int&gt;&gt; e&#xAD;xpression = (a,b) =&gt; a + b;<br/>&#x8DDF;&#x4E0A;&#x4E2A;&#x4F8B;&#x5B50;&#x4E00;&#x6837;&#x7684;lambda&#x8868;&#x8FBE;&#x5F0F;&#x7528;&#x6765;&#x8F6C;&#x6362;&#x5230;&#x7C7B;&#x578B;&#x4E3A;Expression&lt;T&gt;&#x7684;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#xFF0C;&#x53D8;&#x91CF;e&#xAD;xpression&#x4E0D;&#x662F;&#x53EF;&#x6267;&#x884C;&#x4EE3;&#x7801;&#xFF1B;&#x5B83;&#x662F;&#x4E00;&#x4E2A;&#x540D;&#x53EB;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#x7684;&#x6570;&#x636E;&#x7ED3;&#x6784;&#x3002;<br/>Visual Studio 2008&#x7684;samples&#x5305;&#x542B;&#x4E00;&#x4E2A;&#x53EB;ExpressionTreeVisualizer&#x7684;&#x7A0B;&#x5E8F;&#xFF0C;&#x5B83;&#x53EF;&#x4EE5;&#x7528;&#x6765;&#x5448;&#x73B0;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#xFF0C;&#x56FE;1&#x4F60;&#x53EF;&#x4EE5;&#x770B;&#x5230;&#x4E00;&#x4E2A;&#x5C55;&#x793A;&#x4E0A;&#x9762;&#x7B80;&#x5355;&#x8868;&#x8FBE;&#x5F0F;&#x8BED;&#x53E5;&#x7684;&#x5BF9;&#x8BDD;&#x6846;&#x622A;&#x56FE;&#x3002;&#x6CE8;&#x610F;&#xFF0C;&#x5BF9;&#x8BDD;&#x6846;&#x4E0A;&#x9762;&#x90E8;&#x5206;&#x663E;&#x793A;&#x7684;&#x662F;lambda&#x8868;&#x8FBE;&#x5F0F;&#xFF0C;&#x4E0B;&#x9762;&#x662F;&#x7528;TreeView&#x63A7;&#x4EF6;&#x663E;&#x793A;&#x7684;&#x5176;&#x7EC4;&#x6210;&#x90E8;&#x5206;&#x3002;<br/>&#x56FE;1<br/>&#x7F16;&#x5199;&#x4EE3;&#x7801;&#x6765;&#x63A2;&#x7D22;&#x8868;&#x8FBE;&#x5F0F;&#x6811;<br/>&#x6211;&#x4EEC;&#x7684;&#x4F8B;&#x5B50;&#x662F;&#x4E00;&#x4E2A;Expression&lt;TDelegate&gt;&#x3002;Expression&lt;TDelegate&gt;&#x7C7B;&#x6709;&#x56DB;&#x4E2A;&#x5C5E;&#x6027;&#xFF1A;<br/>Body: &#x5F97;&#x5230;&#x8868;&#x8FBE;&#x5F0F;&#x7684;&#x4E3B;&#x4F53;&#x3002;<br/>Parameters: &#x5F97;&#x5230;lambda&#x8868;&#x8FBE;&#x5F0F;&#x7684;&#x53C2;&#x6570;.<br/>NodeType: &#x83B7;&#x53D6;&#x6811;&#x7684;&#x8282;&#x70B9;&#x7684;ExpressionType&#x3002;&#x5171;45&#x79CD;&#x4E0D;&#x540C;&#x503C;&#xFF0C;&#x5305;&#x542B;&#x6240;&#x6709;&#x8868;&#x8FBE;&#x5F0F;&#x8282;&#x70B9;&#x5404;&#x79CD;&#x53EF;&#x80FD;&#x7684;&#x7C7B;&#x578B;&#xFF0C;&#x4F8B;&#x5982;&#x8FD4;&#x56DE;&#x5E38;&#x91CF;&#xFF0C;&#x4F8B;&#x5982;&#x8FD4;&#x56DE;&#x53C2;&#x6570;&#xFF0C;&#x4F8B;&#x5982;&#x53D6;&#x4E24;&#x4E2A;&#x503C;&#x7684;&#x5C0F;&#x503C;(&lt;)&#xFF0C;&#x4F8B;&#x5982;&#x53D6;&#x4E24;&#x4E2A;&#x503C;&#x7684;&#x5927;&#x503C;(&gt;)&#xFF0C;&#x4F8B;&#x5982;&#x5C06;&#x503C;&#x76F8;&#x52A0;(+)&#xFF0C;&#x7B49;&#x7B49;&#x3002;<br/>Type: &#x83B7;&#x53D6;&#x8868;&#x8FBE;&#x5F0F;&#x7684;&#x4E00;&#x4E2A;&#x9759;&#x6001;&#x7C7B;&#x578B;&#x3002;&#x5728;&#x8FD9;&#x4E2A;&#x4F8B;&#x5B50;&#x91CC;&#xFF0C;&#x8868;&#x8FBE;&#x5F0F;&#x7684;&#x7C7B;&#x578B;&#x662F;Func&lt;int, int, int&gt;&#x3002;<br/>&#x5982;&#x679C;&#x6211;&#x4EEC;&#x6298;&#x53E0;&#x56FE;1&#x7684;&#x6811;&#x8282;&#x70B9;&#xFF0C;Expression&lt;TDelegate&gt;&#x7684;&#x56DB;&#x4E2A;&#x5C5E;&#x6027;&#x4FBF;&#x663E;&#x793A;&#x5F97;&#x5F88;&#x6E05;&#x695A;&#xFF1A;<br/>&#x56FE;2<br/>&#x4F60;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x8FD9;&#x56DB;&#x4E2A;&#x5C5E;&#x6027;&#x5F00;&#x59CB;&#x63A2;&#x7D22;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#x3002;&#x4F8B;&#x5982;&#xFF0C;&#x4F60;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x8FD9;&#x6837;&#x627E;&#x5230;&#x53C2;&#x6570;&#x7684;&#x540D;&#x79F0;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;Console.WriteLine(&#34;&#x53C2;&#x6570;1: {0}, &#x53C2;&#x6570;2: {1}&#34;, e&#xAD;xpression.Parameters[0], e&#xAD;xpression.Parameters[1]);<br/>&#x8FD9;&#x53E5;&#x4EE3;&#x7801;&#x8F93;&#x51FA;&#x503C;a&#x548C;b&#xFF1A;<br/> &#x5F15;&#x7528;&#x5185;&#x5BB9;&#x53C2;&#x6570;1: a, &#x53C2;&#x6570;2: b<br/>&#x8FD9;&#x4E2A;&#x5F88;&#x5BB9;&#x6613;&#x5728;&#x56FE;1&#x7684;ParameterExpression&#x8282;&#x70B9;&#x627E;&#x5230;&#x3002;<br/>&#x8BA9;&#x6211;&#x4EEC;&#x5728;&#x63A5;&#x4E0B;&#x6765;&#x7684;&#x4EE3;&#x7801;&#x63A2;&#x7D22;&#x8868;&#x8FBE;&#x5F0F;&#x7684;Body&#xFF0C;&#x5728;&#x8FD9;&#x4E2A;&#x4F8B;&#x5B50;&#x91CC;&#x662F;(a + b)&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;BinaryExpression body = (BinaryExpression)e&#xAD;xpression.Body;<br/>ParameterExpression left = (ParameterExpression)body.Left;<br/>ParameterExpression right = (ParameterExpression)body.Right;<br/>Console.WriteLine(e&#xAD;xpression.Body);<br/>Console.WriteLine(&#34; &#x8868;&#x8FBE;&#x5F0F;&#x5DE6;&#x8FB9;&#x90E8;&#x5206;: &#34; + &#34;{0}{4} &#x8282;&#x70B9;&#x7C7B;&#x578B;: {1}{4} &#x8868;&#x8FBE;&#x5F0F;&#x53F3;&#x8FB9;&#x90E8;&#x5206;: {2}{4} &#x7C7B;&#x578B;: {3}{4}&#34;, left.Name, body.NodeType, right.Name, body.Type, Environment.NewLine);<br/>&#x8FD9;&#x6BB5;&#x4EE3;&#x7801;&#x4EA7;&#x751F;&#x5982;&#x4E0B;&#x8F93;&#x5165;&#xFF1A;<br/> <br/> &#x5F15;&#x7528;&#x5185;&#x5BB9;(a + b)<br/>&nbsp;&nbsp;&#x8868;&#x8FBE;&#x5F0F;&#x5DE6;&#x8FB9;&#x90E8;&#x5206;: a<br/>&nbsp;&nbsp;&#x8282;&#x70B9;&#x7C7B;&#x578B;:&nbsp;&nbsp;Add<br/>&nbsp;&nbsp;&#x8868;&#x8FBE;&#x5F0F;&#x53F3;&#x8FB9;&#x90E8;&#x5206;: b<br/>&nbsp;&nbsp;&#x7C7B;&#x578B;&#xFF1A; System.Int32 <br/>&#x540C;&#x6837;&#xFF0C;&#x4F60;&#x4F1A;&#x53D1;&#x73B0;&#x5F88;&#x5BB9;&#x6613;&#x5728;&#x56FE;1&#x7684;Body&#x8282;&#x70B9;&#x4E2D;&#x627E;&#x5230;&#x8FD9;&#x4E9B;&#x4FE1;&#x606F;&#x3002;<br/>&#x901A;&#x8FC7;&#x63A2;&#x7D22;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x5206;&#x6790;&#x8868;&#x8FBE;&#x5F0F;&#x7684;&#x5404;&#x4E2A;&#x90E8;&#x5206;&#x53D1;&#x73B0;&#x5B83;&#x7684;&#x7EC4;&#x6210;&#x3002;&#x4F60;&#x53EF;&#x4EE5;&#x770B;&#x89C1;&#xFF0C;&#x6211;&#x4EEC;&#x7684;&#x8868;&#x8FBE;&#x5F0F;&#x7684;&#x6240;&#x6709;&#x5143;&#x7D20;&#x90FD;&#x5C55;&#x793A;&#x4E3A;&#x50CF;&#x8282;&#x70B9;&#x8FD9;&#x6837;&#x7684;&#x6570;&#x636E;&#x7ED3;&#x6784;&#x3002;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#x662F;&#x4EE3;&#x7801;&#x8F6C;&#x6362;&#x6210;&#x7684;&#x6570;&#x636E;&#x3002;<br/>&#x7F16;&#x8BD1;&#x4E00;&#x4E2A;&#x8868;&#x8FBE;&#x5F0F;&#xFF1A;&#x5C06;&#x6570;&#x636E;&#x8F6C;&#x6362;&#x56DE;&#x4EE3;&#x7801;<br/>&#x5982;&#x679C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x5C06;&#x4EE3;&#x7801;&#x8F6C;&#x6362;&#x5230;&#x6570;&#x636E;&#xFF0C;&#x90A3;&#x4E48;&#x6211;&#x4EEC;&#x4E5F;&#x5E94;&#x8BE5;&#x80FD;&#x5C06;&#x6570;&#x636E;&#x8F6C;&#x6362;&#x56DE;&#x4EE3;&#x7801;&#x3002;&#x8FD9;&#x91CC;&#x662F;&#x8BA9;&#x7F16;&#x8BD1;&#x5668;&#x5C06;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#x8F6C;&#x6362;&#x5230;&#x53EF;&#x6267;&#x884C;&#x4EE3;&#x7801;&#x7684;&#x7B80;&#x5355;&#x4EE3;&#x7801;&#x3002;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;int result = e&#xAD;xpression.Compile()(3, 5);<br/>Console.WriteLine(result);<br/>&#x8FD9;&#x6BB5;&#x4EE3;&#x7801;&#x4F1A;&#x8F93;&#x51FA;&#x503C;8&#xFF0C;&#x8DDF;&#x672C;&#x6587;&#x6700;&#x521D;&#x58F0;&#x660E;&#x7684;lambda&#x51FD;&#x6570;&#x7684;&#x6267;&#x884C;&#x7ED3;&#x679C;&#x4E00;&#x6837;&#x3002;<br/>IQueryable&lt;T&gt;&#x548C;&#x8868;&#x8FBE;&#x5F0F;&#x6811;<br/>&#x73B0;&#x5728;&#x81F3;&#x5C11;&#x4F60;&#x6709;&#x4E00;&#x4E2A;&#x62BD;&#x8C61;&#x7684;&#x6982;&#x5FF5;&#x7406;&#x89E3;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#xFF0C;&#x73B0;&#x5728;&#x662F;&#x65F6;&#x5019;&#x56DE;&#x6765;&#x7406;&#x89E3;&#x5176;&#x5728;LINQ&#x4E2D;&#x7684;&#x5173;&#x952E;&#x4F5C;&#x7528;&#x4E86;&#xFF0C;&#x5C24;&#x5176;&#x662F;&#x5728;LINQ to SQL&#x4E2D;&#x3002;&#x82B1;&#x70B9;&#x65F6;&#x95F4;&#x8003;&#x8651;&#x8FD9;&#x4E2A;&#x6807;&#x51C6;&#x7684;LINQ to SQL&#x67E5;&#x8BE2;&#x8868;&#x8FBE;&#x5F0F;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;var query = from c in db.Customers <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wh&#101;re c.City == &#34;Nantes&#34; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sel&#101;ct new { c.City, c.CompanyName };<br/>&#x4F60;&#x53EF;&#x80FD;&#x77E5;&#x9053;&#xFF0C;&#x8FD9;&#x91CC;LINQ&#x8868;&#x8FBE;&#x5F0F;&#x8FD4;&#x56DE;&#x7684;&#x53D8;&#x91CF;query&#x662F;IQueryable&#x7C7B;&#x578B;&#x3002;&#x8FD9;&#x91CC;&#x662F;IQueryable&#x7C7B;&#x578B;&#x7684;&#x5B9A;&#x4E49;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;public interface IQueryable : IEnumerable <br/>{<br/>&nbsp;&nbsp;Type ElementType { get; }<br/>&nbsp;&nbsp;Expression Expression { get; }<br/>&nbsp;&nbsp;IQueryProvider Provider { get; }<br/>}<br/>&#x4F60;&#x53EF;&#x4EE5;&#x770B;&#x89C1;&#xFF0C;IQueryable&#x5305;&#x542B;&#x4E00;&#x4E2A;&#x7C7B;&#x578B;&#x4E3A;Expression&#x7684;&#x5C5E;&#x6027;&#xFF0C;Expression&#x662F;Expression&lt;T&gt;&#x7684;&#x57FA;&#x7C7B;&#x3002;IQueryable&#x7684;&#x5B9E;&#x4F8B;&#x88AB;&#x8BBE;&#x8BA1;&#x6210;&#x62E5;&#x6709;&#x4E00;&#x4E2A;&#x76F8;&#x5173;&#x7684;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#x3002;&#x5B83;&#x662F;&#x4E00;&#x4E2A;&#x7B49;&#x540C;&#x4E8E;&#x67E5;&#x8BE2;&#x8868;&#x8FBE;&#x5F0F;&#x4E2D;&#x7684;&#x53EF;&#x6267;&#x884C;&#x4EE3;&#x7801;&#x7684;&#x6570;&#x636E;&#x7ED3;&#x6784;&#x3002;<br/>&#x82B1;&#x70B9;&#x65F6;&#x95F4;&#x8003;&#x8651;&#x56FE;3&#xFF0C;&#x8FD9;&#x662F;&#x672C;&#x8282;&#x5F00;&#x59CB;&#x7684;&#x67E5;&#x8BE2;&#x8868;&#x8FBE;&#x5F0F;&#x7684;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#x7684;&#x53EF;&#x89C6;&#x5316;&#x663E;&#x793A;&#xFF0C;&#x6B64;&#x56FE;&#x4F7F;&#x7528;ExpressionTreeVisualizer&#x521B;&#x5EFA;&#xFF0C;&#x5C31;&#x50CF;&#x6211;&#x4F7F;&#x7528;&#x5B83;&#x5728;&#x56FE;1&#x521B;&#x5EFA;&#x57FA;&#x7840;&#x7684;lambda&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#x4E00;&#x6837;&#x3002;<br/>&#x56FE;3<br/>&#x4E3A;&#x4EC0;&#x4E48;&#x8981;&#x5C06;LINQ to SQL&#x67E5;&#x8BE2;&#x8868;&#x8FBE;&#x5F0F;&#x8F6C;&#x6362;&#x6210;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#x5462;&#xFF1F;<br/> <br/>&#x4F60;&#x5DF2;&#x7ECF;&#x5B66;&#x4E60;&#x4E86;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#x662F;&#x4E00;&#x4E2A;&#x7528;&#x6765;&#x8868;&#x793A;&#x53EF;&#x6267;&#x884C;&#x4EE3;&#x7801;&#x7684;&#x6570;&#x636E;&#x7ED3;&#x6784;&#xFF0C;&#x4F46;&#x5230;&#x76EE;&#x524D;&#x4E3A;&#x6B62;&#x6211;&#x4EEC;&#x8FD8;&#x6CA1;&#x6709;&#x56DE;&#x7B54;&#x4E00;&#x4E2A;&#x6838;&#x5FC3;&#x95EE;&#x9898;&#xFF0C;&#x90A3;&#x5C31;&#x662F;&#x4E3A;&#x4EC0;&#x4E48;&#x6211;&#x4EEC;&#x8981;&#x505A;&#x8FD9;&#x6837;&#x7684;&#x8F6C;&#x6362;&#x3002;&#x8FD9;&#x4E2A;&#x95EE;&#x9898;&#x662F;&#x6211;&#x4EEC;&#x5728;&#x672C;&#x6587;&#x5F00;&#x59CB;&#x65F6;&#x63D0;&#x51FA;&#x6765;&#x7684;&#xFF0C;&#x73B0;&#x5728;&#x662F;&#x65F6;&#x5019;&#x56DE;&#x7B54;&#x4E86;&#x3002;<br/> <br/>&#x4E00;&#x4E2A;LINQ to SQL&#x67E5;&#x8BE2;&#x4E0D;&#x662F;&#x5728;&#x4F60;&#x7684;C#&#x7A0B;&#x5E8F;&#x91CC;&#x6267;&#x884C;&#x7684;&#xFF0C;&#x76F8;&#x53CD;&#xFF0C;&#x5B83;&#x88AB;&#x8F6C;&#x6362;&#x6210;SQL&#xFF0C;&#x901A;&#x8FC7;&#x7F51;&#x7EDC;&#x53D1;&#x9001;&#xFF0C;&#x6700;&#x540E;&#x5728;&#x6570;&#x636E;&#x5E93;&#x670D;&#x52A1;&#x5668;&#x4E0A;&#x6267;&#x884C;&#xFF0C;&#x6362;&#x53E5;&#x8BDD;&#x8BF4;&#xFF0C;&#x4E0B;&#x9762;&#x7684;&#x4EE3;&#x7801;&#x5B9E;&#x9645;&#x4E0A;&#x4ECE;&#x6765;&#x4E0D;&#x4F1A;&#x5728;&#x4F60;&#x7684;&#x7A0B;&#x5E8F;&#x91CC;&#x6267;&#x884C;&#xFF1A;<br/> <br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;var query = from c in db.Customers<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wh&#101;re c.City == &#34;Nantes&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sel&#101;ct new { c.City, c.CompanyName };<br/>&#x5B83;&#x9996;&#x5148;&#x88AB;&#x8F6C;&#x6362;&#x6210;&#x4E0B;&#x9762;&#x7684;SQL&#x8BED;&#x53E5;&#x7136;&#x540E;&#x5728;&#x670D;&#x52A1;&#x5668;&#x4E0A;&#x6267;&#x884C;&#xFF1A;<br/> <br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;Sel&#101;ct [t0].[City], [t0].[CompanyName]<br/>FROM [dbo].[Customers] AS [t0] <br/>Wh&#101;re [t0].[City] = @p0<br/>&#x4ECE;&#x67E5;&#x8BE2;&#x8868;&#x8FBE;&#x5F0F;&#x7684;&#x4EE3;&#x7801;&#x8F6C;&#x6362;&#x6210;SQL&#x67E5;&#x8BE2;&#x8BED;&#x53E5;----&#x5B83;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x5B57;&#x7B26;&#x4E32;&#x5F62;&#x5F0F;&#x88AB;&#x53D1;&#x9001;&#x5230;&#x5176;&#x4ED6;&#x7A0B;&#x5E8F;&#x3002;&#x5728;&#x8FD9;&#x91CC;&#xFF0C;&#x8FD9;&#x4E2A;&#x7A0B;&#x5E8F;&#x6070;&#x597D;&#x662F;SQL Server&#x6570;&#x636E;&#x5E93;&#x3002;&#x50CF;&#x8FD9;&#x6837;&#x5C06;&#x6570;&#x636E;&#x7ED3;&#x6784;&#x8F6C;&#x6362;&#x5230;SQL&#x663E;&#x7136;&#x6BD4;&#x76F4;&#x63A5;&#x4ECE;&#x539F;&#x751F;IL&#x6216;&#x53EF;&#x6267;&#x884C;&#x4EE3;&#x7801;&#x8F6C;&#x6362;&#x5230;SQL&#x8981;&#x5BB9;&#x6613;&#x5F97;&#x591A;&#x3002;&#x8FD9;&#x6709;&#x4E9B;&#x5938;&#x5927;&#x95EE;&#x9898;&#x7684;&#x96BE;&#x5EA6;&#xFF0C;&#x53EA;&#x8981;&#x8BD5;&#x60F3;&#x8F6C;&#x6362;0&#x548C;1&#x7684;&#x5E8F;&#x5217;&#x5230;SQL&#xFF01;<br/> <br/>&#x73B0;&#x5728;&#x662F;&#x65F6;&#x5019;&#x5C06;&#x4F60;&#x7684;&#x67E5;&#x8BE2;&#x8868;&#x8FBE;&#x5F0F;&#x8F6C;&#x6362;&#x6210;SQL&#x4E86;&#xFF0C;&#x63CF;&#x8FF0;&#x67E5;&#x8BE2;&#x7684;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#x662F;&#x5206;&#x89E3;&#x5E76;&#x89E3;&#x6790;&#x4E86;&#x7684;&#xFF0C;&#x5C31;&#x50CF;&#x6211;&#x4EEC;&#x5728;&#x4E0A;&#x4E00;&#x8282;&#x5206;&#x89E3;&#x6211;&#x4EEC;&#x7684;&#x7B80;&#x5355;&#x7684;lambda&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#x4E00;&#x6837;&#x3002;&#x5F53;&#x7136;&#xFF0C;&#x89E3;&#x6790;LINQ to SQL&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#x7684;&#x7B97;&#x6CD5;&#x6BD4;&#x6211;&#x4EEC;&#x7528;&#x7684;&#x90A3;&#x4E2A;&#x8981;&#x590D;&#x6742;&#x5F97;&#x591A;&#xFF0C;&#x4F46;&#x89C4;&#x5219;&#x662F;&#x4E00;&#x6837;&#x7684;&#x3002;&#x4E00;&#x65E6;&#x89E3;&#x6790;&#x4E86;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#x7684;&#x5404;&#x90E8;&#x5206;&#xFF0C;&#x90A3;&#x4E48;LINQ&#x5F00;&#x59CB;&#x659F;&#x914C;&#x4EE5;&#x6700;&#x597D;&#x7684;&#x65B9;&#x5F0F;&#x751F;&#x6210;&#x8FD4;&#x56DE;&#x88AB;&#x8BF7;&#x6C42;&#x7684;&#x6570;&#x636E;&#x7684;SQL&#x8BED;&#x53E5;&#x3002;<br/> <br/>&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#x88AB;&#x521B;&#x5EFA;&#x662F;&#x4E3A;&#x4E86;&#x5236;&#x9020;&#x4E00;&#x4E2A;&#x50CF;&#x5C06;&#x67E5;&#x8BE2;&#x8868;&#x8FBE;&#x5F0F;&#x8F6C;&#x6362;&#x6210;&#x5B57;&#x7B26;&#x4E32;&#x4EE5;&#x4F20;&#x9012;&#x7ED9;&#x5176;&#x4ED6;&#x7A0B;&#x5E8F;&#x5E76;&#x5728;&#x90A3;&#x91CC;&#x6267;&#x884C;&#x8FD9;&#x6837;&#x7684;&#x8F6C;&#x6362;&#x4EFB;&#x52A1;&#xFF0C;&#x5C31;&#x662F;&#x8FD9;&#x4E48;&#x7B80;&#x5355;&#xFF0C;&#x6CA1;&#x6709;&#x5DE8;&#x5927;&#x5965;&#x79D8;&#xFF0C;&#x4E0D;&#x9700;&#x8981;&#x6325;&#x821E;&#x9B54;&#x6756;&#x3002;&#x53EA;&#x662F;&#x7B80;&#x5355;&#x7684;&#xFF1A;&#x628A;&#x4EE3;&#x7801;&#xFF0C;&#x8F6C;&#x6362;&#x6210;&#x6570;&#x636E;&#xFF0C;&#x7136;&#x540E;&#x5206;&#x6790;&#x6570;&#x636E;&#x53D1;&#x73B0;&#x5176;&#x7EC4;&#x6210;&#x90E8;&#x5206;&#xFF0C;&#x6700;&#x540E;&#x8F6C;&#x6362;&#x6210;&#x53EF;&#x4EE5;&#x4F20;&#x9012;&#x5230;&#x5176;&#x4ED6;&#x7A0B;&#x5E8F;&#x7684;&#x5B57;&#x7B26;&#x4E32;&#x3002;<br/> <br/>&#x7531;&#x4E8E;&#x67E5;&#x8BE2;&#x6765;&#x81EA;&#x7F16;&#x8BD1;&#x5668;&#x5C01;&#x88C5;&#x7684;&#x62BD;&#x8C61;&#x7684;&#x6570;&#x636E;&#x7ED3;&#x6784;&#xFF0C;&#x7F16;&#x8BD1;&#x5668;&#x53EF;&#x4EE5;&#x83B7;&#x53D6;&#x4EFB;&#x4F55;&#x5B83;&#x60F3;&#x8981;&#x7684;&#x4FE1;&#x606F;&#x3002;&#x5B83;&#x4E0D;&#x8981;&#x6C42;&#x6267;&#x884C;&#x67E5;&#x8BE2;&#x8981;&#x5728;&#x7279;&#x5B9A;&#x7684;&#x987A;&#x5E8F;&#xFF0C;&#x6216;&#x7528;&#x7279;&#x5B9A;&#x7684;&#x65B9;&#x5F0F;&#x3002;&#x76F8;&#x53CD;&#xFF0C;&#x5B83;&#x53EF;&#x4EE5;&#x5206;&#x6790;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#xFF0C;&#x5BFB;&#x627E;&#x4F60;&#x8981;&#x505A;&#x7684;&#x662F;&#x4EC0;&#x4E48;&#xFF0C;&#x7136;&#x540E;&#x518D;&#x51B3;&#x5B9A;&#x600E;&#x4E48;&#x53BB;&#x505A;&#x3002;&#x81F3;&#x5C11;&#x5728;&#x7406;&#x8BBA;&#x4E0A;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x81EA;&#x7531;&#x7684;&#x8003;&#x8651;&#x5404;&#x79CD;&#x56E0;&#x7D20;&#xFF0C;&#x6BD4;&#x5982;&#x7F51;&#x7EDC;&#x72B6;&#x51B5;&#xFF0C;&#x6570;&#x636E;&#x5E93;&#x8D1F;&#x8F7D;&#xFF0C;&#x7ED3;&#x679C;&#x96C6;&#x662F;&#x5426;&#x6709;&#x6548;&#xFF0C;&#x7B49;&#x7B49;&#x3002;&#x5728;&#x5B9E;&#x9645;&#x4E2D;LINQ to SQL&#x4E0D;&#x8003;&#x8651;&#x6240;&#x6709;&#x8FD9;&#x4E9B;&#x56E0;&#x7D20;&#xFF0C;&#x4F46;&#x5B83;&#x7406;&#x8BBA;&#x4E0A;&#x53EF;&#x4EE5;&#x81EA;&#x7531;&#x7684;&#x505A;&#x51E0;&#x4E4E;&#x6240;&#x6709;&#x60F3;&#x505A;&#x7684;&#x4E8B;&#x3002;&#x6B64;&#x5916;&#xFF0C;&#x4EBA;&#x4EEC;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#x5C06;&#x81EA;&#x5DF1;&#x7F16;&#x5199;&#x7684;&#x4EE3;&#x7801;&#xFF0C;&#x5206;&#x6790;&#x5E76;&#x8F6C;&#x6362;&#x6210;&#x8DDF;LINQ to SQL&#x63D0;&#x4F9B;&#x7684;&#x5B8C;&#x5168;&#x4E0D;&#x540C;&#x7684;&#x4E1C;&#x897F;&#x3002;<br/>IQueryable&lt;T&gt;&#x548C;IEnumerable&lt;T&gt;<br/>&#x6B63;&#x5982;&#x4F60;&#x53EF;&#x80FD;&#x77E5;&#x9053;&#x7684;&#xFF0C;LINQ to Objects&#x7684;&#x67E5;&#x8BE2;&#x8868;&#x8FBE;&#x5F0F;&#x8FD4;&#x56DE;IEnumerable&lt;T&gt;&#x800C;&#x4E0D;&#x662F;IQueryable&lt;T&gt;&#xFF0C;&#x4E3A;&#x4EC0;&#x4E48;LINQ to Objects&#x4F7F;&#x7528;IEnumerable&lt;T&gt;&#x800C;LINQ to SQL&#x4F7F;&#x7528;IQueryable&lt;T&gt;&#xFF1F;<br/>&#x8FD9;&#x91CC;&#x662F;IEnumerable&lt;T&gt;&#x7684;&#x5B9A;&#x4E49;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;public interface IEnumerable&lt;T&gt; : IEnumerable <br/>{ <br/>&nbsp;&nbsp; IEnumerator&lt;T&gt; GetEnumerator();<br/>}<br/>&#x6B63;&#x5982;&#x4F60;&#x770B;&#x5230;&#x7684;&#xFF0C;IEnumerable&lt;T&gt;&#x5E76;&#x4E0D;&#x5305;&#x542B;&#x7C7B;&#x578B;&#x4E3A;Expression&#x7684;&#x5C5E;&#x6027;&#xFF0C;&#x8FD9;&#x6307;&#x51FA;LINQ to Objects&#x548C;LINQ to SQL&#x7684;&#x6839;&#x672C;&#x533A;&#x522B;&#xFF0C;&#x540E;&#x8005;&#x5927;&#x91CF;&#x4F7F;&#x7528;&#x4E86;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#xFF0C;&#x4F46;LINQ to Objects&#x5F88;&#x5C11;&#x4F7F;&#x7528;&#x3002;<br/>&#x4E3A;&#x4EC0;&#x4E48;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#x4E0D;&#x662F;LINQ to Objects&#x7684;&#x6807;&#x51C6;&#x90E8;&#x5206;&#xFF1F;&#x867D;&#x7136;&#x7B54;&#x6848;&#x4E0D;&#x4E00;&#x5B9A;&#x4F1A;&#x9A6C;&#x4E0A;&#x51FA;&#x73B0;&#xFF0C;&#x4F46;&#x8FD9;&#x662F;&#x5F88;&#x6709;&#x610F;&#x4E49;&#x7684;&#x4E00;&#x65E6;&#x4F60;&#x53D1;&#x73B0;&#x8FD9;&#x4E2A;&#x95EE;&#x9898;&#x3002;<br/>&#x8003;&#x8651;&#x8FD9;&#x4E2A;&#x7B80;&#x5355;LINQ to Objects&#x67E5;&#x8BE2;&#x8868;&#x8FBE;&#x5F0F;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;List&lt;int&gt; list = new List&lt;int&gt;() { 1, 2, 3 };<br/>var query = from number in list<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wh&#101;re number &lt; 3 <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sel&#101;ct number;<br/>&#x8FD9;&#x4E2A;LINQ&#x67E5;&#x8BE2;&#x8FD4;&#x56DE;&#x5728;&#x6211;&#x4EEC;&#x7684;list&#x4E2D;&#x6BD4;3&#x5C0F;&#x7684;&#x6570;&#x5B57;&#xFF1B;&#x5C31;&#x662F;&#x8BF4;&#xFF0C;&#x8FD9;&#x91CC;&#x8FD4;&#x56DE;&#x6570;&#x5B57;1&#x548C;2&#x3002;&#x663E;&#x7136;&#x6CA1;&#x6709;&#x5FC5;&#x8981;&#x5C06;&#x67E5;&#x8BE2;&#x8F6C;&#x6362;&#x6210;&#x5B57;&#x7B26;&#x4E32;&#x6765;&#x987A;&#x5E8F;&#x4F20;&#x9012;&#x7ED9;&#x5176;&#x4ED6;&#x7A0B;&#x5E8F;&#x5E76;&#x83B7;&#x53D6;&#x6B63;&#x786E;&#x7684;&#x7ED3;&#x679C;&#x3002;&#x76F8;&#x53CD;&#xFF0C;&#x53EF;&#x4EE5;&#x76F4;&#x63A5;&#x8F6C;&#x6362;&#x67E5;&#x8BE2;&#x8868;&#x8FBE;&#x5F0F;&#x4E3A;&#x53EF;&#x6267;&#x884C;&#x7684;.NET&#x4EE3;&#x7801;&#xFF0C;&#x8FD9;&#x91CC;&#x5E76;&#x4E0D;&#x9700;&#x8981;&#x5C06;&#x5B83;&#x8F6C;&#x6362;&#x6210;&#x5B57;&#x7B26;&#x4E32;&#x6216;&#x5BF9;&#x5B83;&#x6267;&#x884C;&#x4EFB;&#x4F55;&#x5176;&#x4ED6;&#x590D;&#x6742;&#x64CD;&#x4F5C;&#x3002;<br/>&#x53EF;&#x662F;&#x8FD9;&#x6709;&#x70B9;&#x7406;&#x8BBA;&#x5316;&#xFF0C;&#x5728;&#x5B9E;&#x9645;&#x4E2D;&#x67D0;&#x4E9B;&#x7279;&#x6B8A;&#x60C5;&#x51B5;&#x4E0B;&#x5176;&#x5206;&#x9694;&#x7EBF;&#x53EF;&#x80FD;&#x6709;&#x4E9B;&#x6A21;&#x7CCA;&#xFF0C;&#x603B;&#x4F53;&#x4E0A;&#x8BB2;&#x89C4;&#x5219;&#x76F8;&#x5F53;&#x7B80;&#x5355;&#xFF1A;<br/>&#xB7;&#x5982;&#x679C;&#x4EE3;&#x7801;&#x53EF;&#x4EE5;&#x5728;&#x7A0B;&#x5E8F;&#x91CC;&#x6267;&#x884C;&#x90A3;&#x4E48;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x540D;&#x4E3A;IEnumerable&lt;T&gt;&#x7684;&#x7B80;&#x5355;&#x7C7B;&#x578B;&#x5B8C;&#x6210;&#x4EFB;&#x52A1;&#xFF1B;<br/>&#xB7;&#x5982;&#x679C;&#x4F60;&#x9700;&#x8981;&#x5C06;&#x67E5;&#x8BE2;&#x8868;&#x8FBE;&#x5F0F;&#x8F6C;&#x6362;&#x6210;&#x5C06;&#x4F20;&#x9012;&#x5230;&#x5176;&#x4ED6;&#x7A0B;&#x5E8F;&#x7684;&#x5B57;&#x7B26;&#x4E32;&#xFF0C;&#x90A3;&#x4E48;&#x5E94;&#x8BE5;&#x4F7F;&#x7528;IQueryable&lt;T&gt;&#x548C;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#xFF1B;<br/>&#x50CF;LINQ to Amazon&#x8FD9;&#x6837;&#x7684;&#x9879;&#x76EE;&#x9700;&#x8981;&#x5C06;&#x67E5;&#x8BE2;&#x8868;&#x8FBE;&#x5F0F;&#x8F6C;&#x6362;&#x6210;web service&#x8C03;&#x7528;&#x6267;&#x884C;&#x5916;&#x90E8;&#x7A0B;&#x5E8F;&#xFF0C;&#x901A;&#x5E38;&#x4F7F;&#x7528;IQueryable&lt;T&gt;&#x548C;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#x3002;LINQ to Amazon&#x5C06;&#x5B83;&#x7684;&#x67E5;&#x8BE2;&#x8868;&#x8FBE;&#x5F0F;&#x8F6C;&#x6362;&#x6210;&#x6570;&#x636E;&#xFF0C;&#x901A;&#x8FC7;web service&#x4F20;&#x9012;&#x7ED9;&#x53E6;&#x4E00;&#x4E2A;&#x751A;&#x81F3;&#x4E0D;&#x662F;C#&#x5199;&#x7684;&#x7A0B;&#x5E8F;&#x3002;&#x5C06;C#&#x4EE3;&#x7801;&#x8F6C;&#x6362;&#x6210;&#x5230;&#x67D0;&#x4E9B;&#x80FD;&#x4F20;&#x9012;&#x5230;web service&#x7684;&#x4E1C;&#x897F;&#x65F6;&#xFF0C;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#x5185;&#x5728;&#x7684;&#x62BD;&#x8C61;&#x662F;&#x975E;&#x5E38;&#x6709;&#x7528;&#x7684;&#x3002;&#x8981;&#x5728;&#x7A0B;&#x5E8F;&#x5185;&#x6267;&#x884C;&#x7684;&#x4EE3;&#x7801;&#xFF0C;&#x4ECD;&#x7136;&#x53EF;&#x4EE5;&#x7ECF;&#x5E38;&#x4F7F;&#x7528;&#x800C;&#x629B;&#x5F00;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#x3002;&#x4F8B;&#x5982;&#x4E0B;&#x9762;&#x7684;&#x67E5;&#x8BE2;&#x4F7F;&#x7528;IEnumerable&lt;T&gt;&#xFF0C;&#x56E0;&#x4E3A;&#x5B83;&#x8C03;&#x7528;&#x5230;&#x5F53;&#x524D;&#x7A0B;&#x5E8F;&#x7684;.NET&#x53CD;&#x5C04;API&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;var query = from method in typeof(System.Linq.Enumerable).GetMethods()<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;o&#114;derby method.Name<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;group method by method.Name into g<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sel&#101;ct new { Name = g.Key, Overloads = g.Count() };<br/>&#x6982;&#x8981;<br/> <br/>&#x672C;&#x6587;&#x8986;&#x76D6;&#x4E86;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#x7684;&#x4E00;&#x4E9B;&#x57FA;&#x672C;&#x60C5;&#x51B5;&#x3002;&#x901A;&#x8FC7;&#x5C06;&#x4EE3;&#x7801;&#x8F6C;&#x6362;&#x6210;&#x6570;&#x636E;&#xFF0C;&#x8FD9;&#x4E9B;&#x6570;&#x636E;&#x7ED3;&#x6784;&#x63ED;&#x793A;&#x5E76;&#x63CF;&#x7ED8;&#x8868;&#x8FBE;&#x5F0F;&#x7684;&#x7EC4;&#x6210;&#x90E8;&#x5206;&#x3002;&#x4ECE;&#x6700;&#x5C0F;&#x7684;&#x6982;&#x5FF5;&#x4E0A;&#x8BB2;&#xFF0C;&#x7406;&#x89E3;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#x662F;&#x76F8;&#x5F53;&#x7B80;&#x5355;&#x7684;&#x3002;&#x5B83;&#x83B7;&#x53D6;&#x53EF;&#x6267;&#x884C;&#x8868;&#x8FBE;&#x5F0F;&#x5E76;&#x83B7;&#x53D6;&#x5176;&#x7EC4;&#x6210;&#x90E8;&#x5206;&#x653E;&#x5165;&#x6811;&#x5F62;&#x6570;&#x636E;&#x7ED3;&#x6784;&#x3002;&#x4F8B;&#x5982;&#xFF0C;&#x6211;&#x4EEC;&#x68C0;&#x6D4B;&#x8FD9;&#x4E2A;&#x7B80;&#x5355;&#x7684;&#x8868;&#x8FBE;&#x5F0F;&#xFF1A;<br/> <br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;(a,b) =&gt; a + b;<br/>&#x901A;&#x8FC7;&#x7814;&#x7A76;&#x6765;&#x6E90;&#x4E8E;&#x8FD9;&#x4E2A;&#x8868;&#x8FBE;&#x5F0F;&#x7684;&#x6811;&#xFF0C;&#x4F60;&#x80FD;&#x770B;&#x5230;&#x521B;&#x5EFA;&#x6811;&#x7684;&#x57FA;&#x672C;&#x89C4;&#x5219;&#xFF0C;&#x89C1;&#x56FE;1&#x3002;<br/> <br/>&#x4F60;&#x540C;&#x6837;&#x53EF;&#x4EE5;&#x770B;&#x5230;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#x5728;LINQ to SQL&#x91CC;&#x626E;&#x6F14;&#x975E;&#x5E38;&#x91CD;&#x8981;&#x7684;&#x89D2;&#x8272;&#x3002;&#x5C24;&#x5176;&#xFF0C;&#x4ED6;&#x4EEC;&#x662F;LINQ to SQL&#x67E5;&#x8BE2;&#x8868;&#x8FBE;&#x5F0F;&#x7528;&#x6765;&#x83B7;&#x53D6;&#x903B;&#x8F91;&#x7684;&#x6570;&#x636E;&#x62BD;&#x8C61;&#x3002;&#x89E3;&#x6790;&#x5E76;&#x5206;&#x6790;&#x6B64;&#x6570;&#x636E;&#x5F97;&#x5230;SQL&#x8BED;&#x53E5;&#xFF0C;&#x7136;&#x540E;&#x53D1;&#x9001;&#x5230;&#x670D;&#x52A1;&#x5668;&#x3002;<br/> <br/>LINQ&#x4F7F;&#x67E5;&#x8BE2;C#&#x8BED;&#x8A00;&#x7684;&#x4E00;&#x4E2A;&#x666E;&#x901A;&#x7C7B;&#x5373;&#x6709;&#x7C7B;&#x578B;&#x68C0;&#x67E5;&#x4E5F;&#x6709;&#x667A;&#x80FD;&#x611F;&#x77E5;&#x3002;&#x5176;&#x4EE3;&#x7801;&#x662F;&#x7C7B;&#x578B;&#x68C0;&#x67E5;&#x548C;&#x667A;&#x80FD;&#x611F;&#x77E5;&#x7684;&#xFF0C;&#x5FC5;&#x987B;&#x4F7F;&#x7528;&#x6B63;&#x786E;&#x7684;C#&#x8BED;&#x6CD5;&#xFF0C;&#x5B83;&#x80FD;&#x76F4;&#x63A5;&#x8F6C;&#x6362;&#x5230;&#x53EF;&#x6267;&#x884C;&#x4EE3;&#x7801;&#xFF0C;&#x5C31;&#x50CF;&#x4EFB;&#x4F55;&#x5176;&#x4ED6;C#&#x4EE3;&#x7801;&#x4E00;&#x6837;&#x88AB;&#x8F6C;&#x6362;&#x548C;&#x6267;&#x884C;&#x3002;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#x4F7F;&#x5C06;&#x53EF;&#x6267;&#x884C;&#x4EE3;&#x7801;&#x8F6C;&#x6362;&#x6210;&#x80FD;&#x4F20;&#x9012;&#x5230;&#x670D;&#x52A1;&#x5668;&#x7684;SQL&#x8BED;&#x53E5;&#x76F8;&#x5BF9;&#x5BB9;&#x6613;&#x3002;<br/> <br/>&#x67E5;&#x8BE2;&#x8FD4;&#x56DE;IEnumerable&lt;T&gt;&#x4F18;&#x4E8E;IQueryable&lt;T&gt;&#x8868;&#x793A;&#x4E0D;&#x4F7F;&#x7528;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#x3002;&#x4F5C;&#x4E3A;&#x4E00;&#x822C;&#x6027;&#x89C4;&#x5219;&#xFF0C;&#x53EF;&#x4EE5;&#x8FD9;&#x4E48;&#x8BF4;&#xFF1A;LINQ&#x67E5;&#x8BE2;&#x5728;&#x7A0B;&#x5E8F;&#x5185;&#x6267;&#x884C;&#x65F6;&#x4E0D;&#x9700;&#x8981;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#xFF0C;&#x5F53;&#x4EE3;&#x7801;&#x5728;&#x7A0B;&#x5E8F;&#x5916;&#x6267;&#x884C;&#x65F6;&#x53EF;&#x4EE5;&#x5229;&#x7528;&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#x3002;<br/>&#x539F;&#x6587;&#x94FE;&#x63A5;&#xFF1A;http://www.cnblogs.com/renjuwht/archive/2011/02/27/1966111.html</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.078&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card><card id="postCommentCard"><p><b>&#x6807;&#x9898;&#x3A;</b> <a href="#MainCard">&#x8868;&#x8FBE;&#x5F0F;&#x6811;&#x45;&#x78;&#x70;&#x72;&#x65;&#x73;&#x73;&#x69;&#x6F;&#x6E;&#x54;&#x72;&#x65;&#x65;&#x5B;&#x8F6C;&#x5D;</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.078&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.078&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card>
</wml>
