<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_片言程序</title><subtitle type="text">技术有你 共同前行</subtitle><id>http://feed.cnblogs.com/blog/u/18446/rss</id><updated>2011-04-04T02:13:46Z</updated><author><name>桂素伟</name><uri>http://www.cnblogs.com/axzxs2001/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/axzxs2001/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/18446/rss"/><entry><id>http://www.cnblogs.com/axzxs2001/archive/2011/04/04/2005065.html</id><title type="text">自定义集合类型</title><summary type="text">很多时候我们去自定义一些类型，更有些时候我们会把这些自定义类型封装成集合，比如说现在有一个自定义类型User/// &amp;lt;summary&amp;gt; /// 用户 /// &amp;lt;/summary&amp;gt; class User { /// &amp;lt;summary&amp;gt; /// 用户ID /// &amp;lt;/summary&amp;gt; public int ID { get; set; } /// &amp;lt;summary&amp;gt; /// 用户名 /// &amp;lt;/summary&amp;gt; public string UserName { get; set; } /// &amp;lt;summary&amp;gt; /</summary><published>2011-04-04T02:14:00Z</published><updated>2011-04-04T02:14:00Z</updated><author><name>桂素伟</name><uri>http://www.cnblogs.com/axzxs2001/</uri></author><link rel="alternate" href="http://www.cnblogs.com/axzxs2001/archive/2011/04/04/2005065.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/axzxs2001/archive/2011/04/04/2005065.html"/><content type="html">&#xD;
 &#xD;
&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt;" &gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;很多时候我们去自定义一些类型，更有些时候我们会把这些自定义类型封装成集合，比如说现在有一个自定义类型&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;User&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 19pt; text-autospace: ; mso-char-indent-count: 2.0; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="color: gray; font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;///&lt;/span&gt;&lt;span style="color: green; font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: gray; font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt; mso-ascii-font-family: NSimSun; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: NSimSun; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;"&gt;用户&lt;/span&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;class&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;User&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt; mso-ascii-font-family: NSimSun; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: NSimSun; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;"&gt;用户&lt;/span&gt;&lt;span style="color: green; font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;ID&lt;/span&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;int&lt;/span&gt; ID&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;get&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;set&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt; mso-ascii-font-family: NSimSun; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: NSimSun; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;"&gt;用户名&lt;/span&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; UserName&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;get&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;set&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt; mso-ascii-font-family: NSimSun; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: NSimSun; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;"&gt;用户这密码&lt;/span&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; PassWord&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;get&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;set&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt;" &gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;一般情况下，我们封装集合时，是用泛型的&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;List&amp;lt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;去封装，比如&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="color: rgb(43, 145, 175); font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;List&lt;/span&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&amp;lt;&lt;span style="color: rgb(43, 145, 175);"&gt;User&lt;/span&gt;&amp;gt;&#xD;
users = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: rgb(43, 145, 175);"&gt;User&lt;/span&gt;&amp;gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt;" &gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;如果从技术角度考虑，这样的封装没有什么问题，如果是从业务和面向对象的角度考虑，现在的&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;users&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;不是纯粹一组用户，确切的理解是把用户放到了一个&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;List&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;的集合中，&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;List&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;的很多方法，对于这组用户来说是没有业务含意的，如果我们想得到纯粹的一组用户，那就得定义一个用户组类了。定义如下：&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt; mso-ascii-font-family: NSimSun; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: NSimSun; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;"&gt;用户组&lt;/span&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 23.75pt; text-autospace: ; mso-char-indent-count: 2.5; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="color: blue; font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;class&lt;/span&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Users&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 19.5pt; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt; mso-ascii-font-family: NSimSun; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: NSimSun; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;"&gt;用户集合&lt;/span&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: rgb(43, 145, 175);"&gt;User&lt;/span&gt;&amp;gt; users = &lt;span style="color: blue;"&gt;new&lt;/span&gt;&#xD;
&lt;span style="color: rgb(43, 145, 175);"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: rgb(43, 145, 175);"&gt;User&lt;/span&gt;&amp;gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 21pt; mso-char-indent-count: 2.0;" &gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt;" &gt;&lt;span lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;在内部，还是用&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;List&amp;lt;User&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;来存放多个用户，但这个集合是私有的，被&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;Users&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;类型封装了起来。现在的&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;Users&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;就代表一个用户的集合了，当然，还要实现这个集合的添加用户，删除用户，包括获取用户的总数，代码如下：&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 38pt; text-autospace: ; mso-char-indent-count: 4.0; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="color: gray; font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;///&lt;/span&gt;&lt;span style="color: green; font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: gray; font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt; mso-ascii-font-family: NSimSun; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: NSimSun; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;"&gt;添加用户&lt;/span&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;param&#xD;
name="user"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt; mso-ascii-font-family: NSimSun; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: NSimSun; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;"&gt;用户&lt;/span&gt;&lt;span style="color: gray; font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; AddUser(&lt;span style="color: rgb(43, 145, 175);"&gt;User&lt;/span&gt;&#xD;
user)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;users.Add(user);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt; mso-ascii-font-family: NSimSun; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: NSimSun; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;"&gt;移除用户&lt;/span&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;param&#xD;
name="user"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt; mso-ascii-font-family: NSimSun; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: NSimSun; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;"&gt;用户&lt;/span&gt;&lt;span style="color: gray; font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; RemoveUser(&lt;span style="color: rgb(43, 145, 175);"&gt;User&lt;/span&gt;&#xD;
user)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;users.Remove(user);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt; mso-ascii-font-family: NSimSun; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: NSimSun; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;"&gt;获得用户数量&lt;/span&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;int&lt;/span&gt; Count&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;get&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt;&#xD;
users.Count;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;不但有添加，删除用户，还要对用户组中的用户进行修改和查询，当然我们去构建方法是没有问题的，&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt; mso-ascii-font-family: NSimSun; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: NSimSun; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;"&gt;修改用户&lt;/span&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;param&#xD;
name="user"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt; mso-ascii-font-family: NSimSun; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: NSimSun; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;"&gt;用户&lt;/span&gt;&lt;span style="color: gray; font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; ModifyUser(&lt;span style="color: rgb(43, 145, 175);"&gt;User&lt;/span&gt;&#xD;
user)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;for&lt;/span&gt;&#xD;
(&lt;span style="color: blue;"&gt;int&lt;/span&gt; i = 0; i &amp;lt; users.Count;i++ )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;&#xD;
(users[i].ID == user.ID)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;users[i] = user;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt; mso-ascii-font-family: NSimSun; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: NSimSun; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;"&gt;查询用户&lt;/span&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;param&#xD;
name="ID"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt; mso-ascii-font-family: NSimSun; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: NSimSun; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;"&gt;用户&lt;/span&gt;&lt;span style="color: green; font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;ID&lt;/span&gt;&lt;span style="color: gray; font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;User&lt;/span&gt; QueryUser(&lt;span style="color: blue;"&gt;int&lt;/span&gt;&#xD;
ID)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;foreach&lt;/span&gt;&#xD;
(&lt;span style="color: rgb(43, 145, 175);"&gt;User&lt;/span&gt; user &lt;span style="color: blue;"&gt;in&lt;/span&gt;&#xD;
users)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;&#xD;
(user.ID == ID)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt;&#xD;
user;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt;&#xD;
&lt;span style="color: blue;"&gt;null&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt;" &gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;这样可能实现修改和查询，但有修改和查询我们可以根据&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;List&amp;lt;User&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;集合的特点（主要是引用类型的特点）来达到修改和查询，不防用索引器来试一下：&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt; mso-ascii-font-family: NSimSun; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: NSimSun; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;"&gt;用户&lt;/span&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;param&#xD;
name="i"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt; mso-ascii-font-family: NSimSun; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: NSimSun; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;"&gt;用户&lt;/span&gt;&lt;span style="color: green; font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;ID&lt;/span&gt;&lt;span style="color: gray; font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;User&lt;/span&gt; &lt;span style="color: blue;"&gt;this&lt;/span&gt;[&lt;span style="color: blue;"&gt;int&lt;/span&gt; ID]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;get&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;foreach&lt;/span&gt;&#xD;
(&lt;span style="color: rgb(43, 145, 175);"&gt;User&lt;/span&gt; user &lt;span style="color: blue;"&gt;in&lt;/span&gt;&#xD;
users)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;&#xD;
(user.ID == ID)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; user;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt;&#xD;
&lt;span style="color: blue;"&gt;null&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;set&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;for&lt;/span&gt;&#xD;
(&lt;span style="color: blue;"&gt;int&lt;/span&gt; i = 0; i &amp;lt; users.Count; i++)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;&#xD;
(users[i].ID == &lt;span style="color: blue;"&gt;value&lt;/span&gt;.ID)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;users[i] = &lt;span style="color: blue;"&gt;value&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt;" &gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;用索引器的好处是把用户组对象当集合来使用，用户&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;ID&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;当索引值：&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Users&lt;/span&gt;&#xD;
users = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Users&lt;/span&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;User&lt;/span&gt;&#xD;
user = users[1];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;users[0].UserName = &lt;span style="color: rgb(163, 21, 21);"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21); font-family: 宋体; font-size: 9.5pt; mso-ascii-font-family: NSimSun; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: NSimSun; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;"&gt;张三&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21); font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;"&lt;/span&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt;" &gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;既然&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;Users&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;代表一个集合，那应该能对它进行遍历，为了实现对&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;Users&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;的&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;foreach&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;遍历，必须实现&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;IEnumerable&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;接口的实现，代码如下：&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="color: blue; font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;class&lt;/span&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Users&lt;/span&gt; : &lt;span style="color: rgb(43, 145, 175);"&gt;IListSource&lt;/span&gt;, &lt;span style="color: rgb(43, 145, 175);"&gt;IEnumerable&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt;" &gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt;" &gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;&amp;#8230;&amp;#8230;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 38pt; text-autospace: ; mso-char-indent-count: 4.0; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="color: gray; font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;///&lt;/span&gt;&lt;span style="color: green; font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: gray; font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt; mso-ascii-font-family: NSimSun; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: NSimSun; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;"&gt;实现对&lt;/span&gt;&lt;span style="color: green; font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;users&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt; mso-ascii-font-family: NSimSun; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: NSimSun; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;"&gt;的&lt;/span&gt;&lt;span style="color: green; font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;foreach&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt; mso-ascii-font-family: NSimSun; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: NSimSun; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;"&gt;遍历&lt;/span&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;IEnumerator&lt;/span&gt; GetEnumerator()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;for&lt;/span&gt;&#xD;
(&lt;span style="color: blue;"&gt;int&lt;/span&gt; i = 0; i &amp;lt; users.Count; i++)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;yield&lt;/span&gt;&#xD;
&lt;span style="color: blue;"&gt;return&lt;/span&gt; users[i];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt;" &gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;&amp;#8230;&amp;#8230;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt;" &gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt;" &gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;在&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;WinForm&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;中或在&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;ASP.NET&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;中，框架中提供了一些数据库的绑定控制，如果使我们的用户组具有绑定能力，就更加完美了。&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt;" &gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;通常状况下，为了绑定到控件的&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;DataSource&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;的属性下，要实现以下接口，&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt;" &gt;&lt;span lang="EN-US"&gt;&lt;a href="http://127.0.0.1:47873/help/1-4956/ms.help?method=page&amp;amp;id=T%3ASYSTEM.COLLECTIONS.ILIST&amp;amp;product=VS&amp;amp;productVersion=100&amp;amp;topicVersion=100&amp;amp;locale=ZH-CN&amp;amp;topicLocale=ZH-CN&amp;amp;embedded=true"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none;"&gt;&lt;font face="Calibri"&gt;IList&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;font face="Calibri"&gt;&#xD;
&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;接口，包括一维数组。&lt;/span&gt;&lt;font face="Calibri"&gt;&#xD;
&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt;" &gt;&lt;span lang="EN-US"&gt;&lt;a href="http://127.0.0.1:47873/help/1-4956/ms.help?method=page&amp;amp;id=T%3ASYSTEM.COMPONENTMODEL.ILISTSOURCE&amp;amp;product=VS&amp;amp;productVersion=100&amp;amp;topicVersion=100&amp;amp;locale=ZH-CN&amp;amp;topicLocale=ZH-CN&amp;amp;embedded=true"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none;"&gt;&lt;font face="Calibri"&gt;IListSource&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;font face="Calibri"&gt;&#xD;
&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;接口&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt;" &gt;&lt;span lang="EN-US"&gt;&lt;a href="http://127.0.0.1:47873/help/1-4956/ms.help?method=page&amp;amp;id=T%3ASYSTEM.COMPONENTMODEL.IBINDINGLIST&amp;amp;product=VS&amp;amp;productVersion=100&amp;amp;topicVersion=100&amp;amp;locale=ZH-CN&amp;amp;topicLocale=ZH-CN&amp;amp;embedded=true"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none;"&gt;&lt;font face="Calibri"&gt;IBindingList&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;font face="Calibri"&gt;&#xD;
&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;接口&lt;/span&gt;&lt;font face="Calibri"&gt; &lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt;" &gt;&lt;span lang="EN-US"&gt;&lt;a href="http://127.0.0.1:47873/help/1-4956/ms.help?method=page&amp;amp;id=T%3ASYSTEM.COMPONENTMODEL.IBINDINGLISTVIEW&amp;amp;product=VS&amp;amp;productVersion=100&amp;amp;topicVersion=100&amp;amp;locale=ZH-CN&amp;amp;topicLocale=ZH-CN&amp;amp;embedded=true"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none;"&gt;&lt;font face="Calibri"&gt;IBindingListView&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;font face="Calibri"&gt;&#xD;
&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;接口&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt;" &gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;我们来实现&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;IListSource&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;接口，这个接口需要实现两个成员，一个是&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;ContainsListCollection&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;属性，一个是&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;GetList&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;方法&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;class&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Users&lt;/span&gt; : &lt;span style="color: rgb(43, 145, 175);"&gt;IListSource&lt;/span&gt;,&#xD;
&lt;span style="color: rgb(43, 145, 175);"&gt;IEnumerable&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 10.5pt; mso-char-indent-count: 1.0;" &gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 10.5pt; mso-char-indent-count: 1.0;" &gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;&amp;#8230;&amp;#8230;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt; mso-ascii-font-family: NSimSun; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: NSimSun; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;"&gt;是否包含&lt;/span&gt;&lt;span style="color: green; font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;List&lt;/span&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;bool&lt;/span&gt; ContainsListCollection&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;get&lt;/span&gt;&#xD;
{ &lt;span style="color: blue;"&gt;return&lt;/span&gt; &lt;span style="color: blue;"&gt;true&lt;/span&gt;;&#xD;
}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt; mso-ascii-font-family: NSimSun; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: NSimSun; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;"&gt;返回集合&lt;/span&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt;&#xD;
System.Collections.&lt;span style="color: rgb(43, 145, 175);"&gt;IList&lt;/span&gt; GetList()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt;&#xD;
users;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-autospace: ; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: NSimSun; font-size: 9.5pt; mso-bidi-font-family: NSimSun; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 10.5pt; mso-char-indent-count: 1.0;" &gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;&amp;#8230;&amp;#8230;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 10.5pt; mso-char-indent-count: 1.0;" &gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt;" &gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;下面是整体类图：&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt;" &gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin;"&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/CustomerClass.png" width="420" height="330" /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt;" &gt;&lt;font face="Calibri"&gt;&lt;span style="mso-no-proof: yes;" lang="EN-US"&gt;&lt;v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"&gt;&#xD;
 &lt;v:stroke joinstyle="miter"&gt;&#xD;
 &lt;v:formulas&gt;&#xD;
  &lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;&#xD;
  &lt;v:f eqn="sum @0 1 0"&gt;&#xD;
  &lt;v:f eqn="sum 0 0 @1"&gt;&#xD;
  &lt;v:f eqn="prod @2 1 2"&gt;&#xD;
  &lt;v:f eqn="prod @3 21600 pixelWidth"&gt;&#xD;
  &lt;v:f eqn="prod @3 21600 pixelHeight"&gt;&#xD;
  &lt;v:f eqn="sum @0 0 1"&gt;&#xD;
  &lt;v:f eqn="prod @6 1 2"&gt;&#xD;
  &lt;v:f eqn="prod @7 21600 pixelWidth"&gt;&#xD;
  &lt;v:f eqn="sum @8 21600 0"&gt;&#xD;
  &lt;v:f eqn="prod @7 21600 pixelHeight"&gt;&#xD;
  &lt;v:f eqn="sum @10 21600 0"&gt;&#xD;
 &lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&#xD;
 &lt;v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"&gt;&#xD;
 &lt;o:lock aspectratio="t" v:ext="edit"&gt;&#xD;
&lt;/o:lock&gt;&lt;/v:path&gt;&lt;/v:stroke&gt;&lt;/v:shapetype&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;font face="宋体"&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;img src="http://www.cnblogs.com/axzxs2001/aggbug/2005065.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/axzxs2001/archive/2011/04/04/2005065.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/axzxs2001/archive/2010/04/30/1724762.html</id><title type="text">西亚斯vs2010敏捷开发分享</title><summary type="text">4月24日，很有幸同西亚斯的励志工作室的的同学见面，他们是专门研究开发.net的一个工作室，大家一起学习，一起进步，是一个不错的团队。在这里，我和大家一起分享了关于vs2010的敏捷开发，主要内容从UML架构设计，数据库设计，代码开发，代码测试等方面介绍了vs2010的开发模式。西亚斯是个美丽的地方，不但环境优美，学生们的思想也很活跃，应该是个出人才的地方。</summary><published>2010-04-30T02:42:00Z</published><updated>2010-04-30T02:42:00Z</updated><author><name>桂素伟</name><uri>http://www.cnblogs.com/axzxs2001/</uri></author><link rel="alternate" href="http://www.cnblogs.com/axzxs2001/archive/2010/04/30/1724762.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/axzxs2001/archive/2010/04/30/1724762.html"/><content type="html">&lt;p&gt;4月24日，很有幸同西亚斯的励志工作室的的同学见面，他们是专门研究开发.net的一个工作室，大家一起学习，一起进步，是一个不错的团队。&lt;/p&gt;&#xD;
&lt;p&gt;在这里，我和大家一起分享了关于vs2010的敏捷开发，主要内容从UML架构设计，数据库设计，代码开发，代码测试等方面介绍了vs2010的开发模式。&lt;/p&gt;&#xD;
&lt;p&gt;西亚斯是个美丽的地方，不但环境优美，学生们的思想也很活跃，应该是个出人才的地方。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/SAM_0796.JPG" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/SAM_0804.JPG" /&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/axzxs2001/aggbug/1724762.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/axzxs2001/archive/2010/04/30/1724762.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/axzxs2001/archive/2010/04/29/1724410.html</id><title type="text">3月28日 vs2010太原ReView</title><summary type="text">今天，活动的形式比较特别，活动是在公园里举行，到场有近30位朋友，活动的内容谈及vs2010的新特性，vs2010的敏捷开发，C#4.0等方面的内容。会后，大家抽取微软提供的礼品。因为在公园，还是周末，我们的宣传广告有很多人看，还有很多人驻足观看，有的朋友还能听上半个小时，看来喜欢 IT的人越来越多了。现场交流</summary><published>2010-04-29T12:26:00Z</published><updated>2010-04-29T12:26:00Z</updated><author><name>桂素伟</name><uri>http://www.cnblogs.com/axzxs2001/</uri></author><link rel="alternate" href="http://www.cnblogs.com/axzxs2001/archive/2010/04/29/1724410.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/axzxs2001/archive/2010/04/29/1724410.html"/><content type="html">&lt;p&gt;今天，活动的形式比较特别，活动是在公园里举行，到场有近30位朋友，活动的内容谈及vs2010的新特性，vs2010的敏捷开发，C#4.0等方面的内容。&lt;/p&gt;&#xD;
&lt;p&gt;会后，大家抽取微软提供的礼品。&lt;/p&gt;&#xD;
&lt;p&gt;因为在公园，还是周末，我们的宣传广告有很多人看，还有很多人驻足观看，有的朋友还能听上半个小时，看来喜欢 IT的人越来越多了。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img style="width: 402px; height: 302px" border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/100328A035.jpg" width="402" height="302" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;现场&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img style="width: 402px; height: 302px" border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/100328A046.jpg" width="402" height="302" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;交流&lt;/p&gt; &lt;img src="http://www.cnblogs.com/axzxs2001/aggbug/1724410.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/axzxs2001/archive/2010/04/29/1724410.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/axzxs2001/archive/2010/04/25/1719857.html</id><title type="text">WPF中的依赖项属性</title><summary type="text">随着WPF的推广，不得不重新拾起WPF来，因为这块的产品越来越多。只能跟着MSDN来学了，所以想是在这里记录下学习的过程和对知识的理解。先从最基本的吧，依赖项属性是WPF中不同的地方，先了解一下它吧。&amp;#8220;依赖项属性的用途在于提供一种方法来基于其他输入的值计算属性值&amp;#8221;，这是官方的一句话，理解起来有点费劲。属性本身其实很简单，就是用来封装了字段的，本质上是两个访问器，来达到对字段...</summary><published>2010-04-25T06:28:00Z</published><updated>2010-04-25T06:28:00Z</updated><author><name>桂素伟</name><uri>http://www.cnblogs.com/axzxs2001/</uri></author><link rel="alternate" href="http://www.cnblogs.com/axzxs2001/archive/2010/04/25/1719857.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/axzxs2001/archive/2010/04/25/1719857.html"/><content type="html">&lt;p style="text-indent: 21pt"&gt;&lt;span style="font-family: 宋体"&gt;随着&lt;/span&gt;WPF&lt;span style="font-family: 宋体"&gt;的推广，不得不重新拾起&lt;/span&gt;WPF&lt;span style="font-family: 宋体"&gt;来，因为这块的产品越来越多。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;&lt;span style="font-family: 宋体"&gt;只能跟着&lt;/span&gt;MSDN&lt;span style="font-family: 宋体"&gt;来学了，所以想是在这里记录下学习的过程和对知识的理解。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;&lt;span style="font-family: 宋体"&gt;先从最基本的吧，依赖项属性是&lt;/span&gt;WPF&lt;span style="font-family: 宋体"&gt;中不同的地方，先了解一下它吧。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;&lt;span style="font-family: 宋体"&gt;&amp;#8220;依赖项属性的用途在于提供一种方法来基于其他输入的值计算属性值&amp;#8221;，这是官方的一句话，理解起来有点费劲。属性本身其实很简单，就是用来封装了字段的，本质上是两个访问器，来达到对字段值的读与写，以及从业务角度保护字段的业务有效性（因为大部分字段都有一定的业务含义，即有业务含义，就有一定范围，比如工资，是个小数的类型，但工资不可能是负数，所以在封装工资字段时，要在&lt;/span&gt;set&lt;span style="font-family: 宋体"&gt;访问器中作限制）。但依赖项属性不只这么简单了，属性的值不是简单的封装字段，而是根据其他的输入值来决定本属性的值。为什么要这样做？因为在&lt;/span&gt;WPF&lt;span style="font-family: 宋体"&gt;体系中，&lt;strong&gt;只有定义属性为依赖项属性，这个属性才支持样式设置，数据绑定，继承，动画和默认值&lt;/strong&gt;。也就是这个属性才能具有&lt;/span&gt;WPF&lt;span style="font-family: 宋体"&gt;中的一些特点。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;&lt;span style="font-family: 宋体"&gt;怎么样才能使一个属性成为依赖项属性呢？&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;&lt;span style="font-family: 宋体"&gt;首先，属性所在的类要直接或间接继承&lt;/span&gt;DependencyObject&lt;span style="font-family: 宋体"&gt;。这个类生成的对象表示一个具有依赖项属性的对象，这些对象，都能享用&lt;/span&gt;WPF&lt;span style="font-family: 宋体"&gt;的属性系统（属性系统主要是计算属性的值，并提供有关值已更改的系统通知）方面的服务。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;&lt;span style="font-family: 宋体"&gt;这个类有两个比较重要的方法，&lt;/span&gt;GetValue&lt;span style="font-family: 宋体"&gt;（返回当前对象依赖项属性的当前有效值）和&lt;/span&gt;SetValue&lt;span style="font-family: 宋体"&gt;（设置依赖项属性的本地值）。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;&lt;span style="font-family: 宋体"&gt;其实，属性对应的字段必需是公有，静态，只读的，类型为&lt;/span&gt;DependencyProperty&lt;span style="font-family: 宋体"&gt;。即&lt;/span&gt;public static readonly DependencyProperty &lt;span style="font-family: 宋体"&gt;字段名，同时字段的命名也有规范，属性名&lt;/span&gt;+Property&lt;span style="font-family: 宋体"&gt;，字段在定义时，通过&lt;/span&gt;DependencyProperty.Register&lt;span style="font-family: 宋体"&gt;来实注册属性（只有注册了，才能使用&lt;/span&gt;WPF&lt;span style="font-family: 宋体"&gt;属性系统的服务）。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;Register&lt;span style="font-family: 宋体"&gt;方法有三种重载，如下：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;div align="center"&gt;&#xD;
&lt;table style="border-bottom: medium none; border-left: medium none; width: 95.92%; border-collapse: collapse; border-top: medium none; border-right: medium none" border="1" cellspacing="0" cellpadding="0" width="95%"&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 34.12%; padding-right: 5.4pt; border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; padding-top: 0cm" valign="top" width="34%"&gt;&#xD;
&lt;p style="text-align: left; margin: 3.75pt 0cm" align="left"&gt;&lt;span style="font-family: 宋体"&gt;名称&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; border-left: #f0f0f0; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 65.88%; padding-right: 5.4pt; border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; padding-top: 0cm" valign="top" width="65%"&gt;&#xD;
&lt;p style="text-align: left; margin: 3.75pt 0cm" align="left"&gt;&lt;span style="font-family: 宋体"&gt;说明&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 34.12%; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm" valign="top" width="34%"&gt;&#xD;
&lt;p style="text-align: left; margin: 3.75pt 0cm" align="left"&gt;Register(String, Type, Type) &lt;/p&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; border-left: #f0f0f0; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 65.88%; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm" valign="top" width="65%"&gt;&#xD;
&lt;p style="text-align: left; margin: 3.75pt 0cm" align="left"&gt;&lt;span style="font-family: 宋体"&gt;使用指定的属性名称、属性类型和属性所在对象的类型。&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 34.12%; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm" valign="top" width="34%"&gt;&#xD;
&lt;p style="text-align: left; margin: 3.75pt 0cm" align="left"&gt;Register(String, Type, Type, PropertyMetadata) &lt;/p&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; border-left: #f0f0f0; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 65.88%; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm" valign="top" width="65%"&gt;&#xD;
&lt;p style="text-align: left; margin: 3.75pt 0cm" align="left"&gt;&lt;span style="font-family: 宋体"&gt;使用指定的属性名称、属性类型、属性所在对象的类型和属性元数据注册依赖项属性。&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 34.12%; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm" valign="top" width="34%"&gt;&#xD;
&lt;p style="text-align: left; margin: 3.75pt 0cm" align="left"&gt;Register(String, Type, Type, PropertyMetadata, ValidateValueCallback) &lt;/p&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; border-left: #f0f0f0; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 65.88%; padding-right: 5.4pt; border-top: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm" valign="top" width="65%"&gt;&#xD;
&lt;p style="text-align: left; margin: 3.75pt 0cm" align="left"&gt;&lt;span style="font-family: 宋体"&gt;使用指定的属性名称、属性类型、属性所在对象的类型、属性元数据和属性的值验证回调来注册依赖项属性。&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;&lt;span style="font-family: 宋体"&gt;在&lt;/span&gt;Register&lt;span style="font-family: 宋体"&gt;中，各个参数解释如下：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;String&lt;span style="font-family: 宋体"&gt;：依赖属性的名字（不加&lt;/span&gt;Property&lt;span style="font-family: 宋体"&gt;，即字段的名字）；&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;Type&lt;span style="font-family: 宋体"&gt;：属性的类型；&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;Type&lt;span style="font-family: 宋体"&gt;：属性所属对象的类型；&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;PropertyMetadata&lt;span style="font-family: 宋体"&gt;：依赖项对象的属性元数据，是一个&lt;/span&gt;PropertyMetadata&lt;span style="font-family: 宋体"&gt;类型，可能赋初始值。&lt;/span&gt;PropertyMetadata&lt;span style="font-family: 宋体"&gt;有一个&lt;/span&gt;object&lt;span style="font-family: 宋体"&gt;的构造函数；&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;ValidateValueCallback&lt;span style="font-family: 宋体"&gt;：表示用作回调的方法，这个类型是一个委托，用于验证依赖项属性的值的有效性，因为是委托，故它的构造参数为一个方法名。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;&lt;span style="font-family: 宋体"&gt;最后，来构造依赖属性，与普通的属性有所区别：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;Public &lt;span style="font-family: 宋体"&gt;属性类型&lt;/span&gt; &lt;span style="font-family: 宋体"&gt;属性名&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;{&lt;/p&gt;&#xD;
&lt;p style="background: #f7f7ff"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;Get&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 36.75pt;background: #f7f7ff"&gt;{ &lt;/p&gt;&#xD;
&lt;p style="text-indent: 57.75pt;background: #f7f7ff"&gt;return (&lt;span style="font-family: 宋体"&gt;属性类型&lt;/span&gt;)this.GetValue(&lt;span style="font-family: 宋体"&gt;字段名&lt;/span&gt;); &lt;/p&gt;&#xD;
&lt;p style="background: #f7f7ff"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 36.75pt"&gt;{ &lt;/p&gt;&#xD;
&lt;p style="text-indent: 57.75pt"&gt;this.SetValue(&lt;span style="font-family: 宋体"&gt;字段名&lt;/span&gt;, value);&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt; margin: 0cm 0cm 0pt 21pt"&gt;}&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;}&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;&lt;span style="font-family: 宋体"&gt;其中的&lt;/span&gt;GetValue&lt;span style="font-family: 宋体"&gt;和&lt;/span&gt;SetValue&lt;span style="font-family: 宋体"&gt;都是调用父类&lt;/span&gt;DependencyObject&lt;span style="font-family: 宋体"&gt;的方法。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;&lt;span style="font-family: 宋体"&gt;完整的代码如下：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('83f09145-811f-40b9-b09b-c16077a721af')"&gt;&lt;img id="code_img_opened_83f09145-811f-40b9-b09b-c16077a721af"  onclick="cnblogs_code_hide('83f09145-811f-40b9-b09b-c16077a721af',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt; &#xD;
&lt;div id="cnblogs_code_open_83f09145-811f-40b9-b09b-c16077a721af"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;MyClass&amp;nbsp;:&amp;nbsp;DependencyObject&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;static&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;readonly&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DependencyProperty&amp;nbsp;MyfieldProperty&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DependencyProperty.Register(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;Myfield&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;),&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;&lt;span style="color: #000000"&gt;(MyClass),&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;PropertyMetadata(&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;),&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;ValidateValueCallback(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;MyClass().MyValidateMethod));&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Myfield&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;get&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;)GetValue(MyfieldProperty);&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;set&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;{&amp;nbsp;SetValue(MyfieldProperty,&amp;nbsp;value);&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;bool&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;MyValidateMethod(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;object&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;value)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;10&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;11&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;这里实现验证&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;12&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;13&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;14&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;&lt;p style="text-indent: 21pt"&gt;&lt;span style="font-family: 宋体"&gt;&lt;/span&gt;&lt;/p&gt;&amp;nbsp;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;WPF&lt;span style="font-family: 宋体"&gt;中，大部分对象的属性都是依赖项属性，用&lt;/span&gt;Button&lt;span style="font-family: 宋体"&gt;来举例，&lt;/span&gt;Button&lt;span style="font-family: 宋体"&gt;类的继承关系如下：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;&lt;span style="font-family: 宋体"&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/DependencyProperty01.jpg" width="502" height="223" /&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;&lt;span style="font-family: 宋体"&gt;可以很明显的看到，&lt;/span&gt;Button&lt;span style="font-family: 宋体"&gt;是间接继承&lt;/span&gt;DependencyObject&lt;span style="font-family: 宋体"&gt;的。再看看他的属性：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;&lt;span style="font-family: 宋体"&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/DependencyProperty02.jpg" width="352" height="183" /&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;&lt;span style="font-family: 宋体"&gt;拿&lt;/span&gt;ISDefault&lt;span style="font-family: 宋体"&gt;属性来看，它有一个&lt;/span&gt;IsDefalutProperty&lt;span style="font-family: 宋体"&gt;的字段，类型为&lt;/span&gt;DependencyProperty&lt;span style="font-family: 宋体"&gt;，&lt;/span&gt;IsDefault&lt;span style="font-family: 宋体"&gt;的代码如下：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;&lt;span style="font-family: 宋体"&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/DependencyProperty03.jpg" width="397" height="190" /&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;&lt;span style="font-family: 宋体"&gt;完全与我们定义的依赖项属性一样。因为只有这样，这些属性才能使用&lt;/span&gt;WPF&lt;span style="font-family: 宋体"&gt;属性系统服务。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/axzxs2001/aggbug/1719857.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/axzxs2001/archive/2010/04/25/1719857.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/axzxs2001/archive/2010/04/20/1715830.html</id><title type="text">控制台输入验证</title><summary type="text">VS提供了一个模版&amp;#8220;控制台应用程序&amp;#8221;，这种应用程序主要不是用来与用户交互的，或做一些后台程序运行的展示，或用来练习C#语法，如果当做C#语法学习的平台，在这里就说一下在控制台下的输入验证吧。控制台状态下，程序的输入输出是流的方式进行的，也就是光标是向前的（如果不做特殊处理的话），输入的验证，只能等用户输入完后，系统从缓冲区中把数据读出来进行验证（因为在这里没有按键事件）。举...</summary><published>2010-04-19T18:35:00Z</published><updated>2010-04-19T18:35:00Z</updated><author><name>桂素伟</name><uri>http://www.cnblogs.com/axzxs2001/</uri></author><link rel="alternate" href="http://www.cnblogs.com/axzxs2001/archive/2010/04/20/1715830.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/axzxs2001/archive/2010/04/20/1715830.html"/><content type="html">&lt;p style="text-indent: 21pt"&gt;VS&lt;span style="font-family: 宋体"&gt;提供了一个模版&amp;#8220;控制台应用程序&amp;#8221;，这种应用程序主要不是用来与用户交互的，或做一些后台程序运行的展示，或用来练习&lt;/span&gt;C#&lt;span style="font-family: 宋体"&gt;语法，如果当做&lt;/span&gt;C#&lt;span style="font-family: 宋体"&gt;语法学习的平台，在这里就说一下在控制台下的输入验证吧。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;&lt;span style="font-family: 宋体"&gt;控制台状态下，程序的输入输出是流的方式进行的，也就是光标是向前的（如果不做特殊处理的话），输入的验证，只能等用户输入完后，系统从缓冲区中把数据读出来进行验证（因为在这里没有按键事件）。举个例子吧，比如，我们提示用户从控制台上输入一个数字类型（如果是字符或字符串类型，问题就会少一点，因为&lt;/span&gt;Console.ReadLine&lt;span style="font-family: 宋体"&gt;或&lt;/span&gt; Console.Read&lt;span style="font-family: 宋体"&gt;方法，是返回字符串和字符的），拿年龄来说明问题吧。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;&lt;span style="font-family: 宋体"&gt;最直接的验证是这样的：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 18pt" align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; color: #a31515; font-size: 9pt"&gt;请输入年龄："&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 18pt" align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;string&lt;/span&gt; agestr = &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.ReadLine();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 18pt" align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;int&lt;/span&gt; age;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 18pt" align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;if&lt;/span&gt; (&lt;span style="color: blue"&gt;int&lt;/span&gt;.TryParse(agestr, &lt;span style="color: blue"&gt;out&lt;/span&gt; age))&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 18pt" align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 18pt" align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; color: #a31515; font-size: 9pt"&gt;你输入的年龄："&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;, age);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 18pt" align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 18pt" align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 18pt" align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 18pt" align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; color: #a31515; font-size: 9pt"&gt;你输入的年龄有误！"&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 18pt"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;&lt;span style="font-family: 宋体"&gt;我们利用类型&lt;/span&gt;.TryParse&lt;span style="font-family: 宋体"&gt;方法，来试图去转换一个类型，&lt;/span&gt;int.TryParse&lt;span style="font-family: 宋体"&gt;是试图把字符串转换成整型，当然，这个字符串必需是数字的字符串，这样才能转换成功，否则是不成功的，返回值是为&lt;/span&gt;false&lt;span style="font-family: 宋体"&gt;的，所以利用这点，就可以验证用户输入的年龄类型正确与否。其实上面写法还是复杂一点，于是就要简化一下，如下代码：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 18pt" align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; color: #a31515; font-size: 9pt"&gt;请输入年龄："&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 18pt" align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;string&lt;/span&gt; agestr = &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.ReadLine();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 18pt" align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;int&lt;/span&gt; age = &lt;span style="color: blue"&gt;int&lt;/span&gt;.TryParse(agestr, &lt;span style="color: blue"&gt;out&lt;/span&gt; age) ? age : 1;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 18pt"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; color: #a31515; font-size: 9pt"&gt;年龄为：{0}"&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;, age);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;&lt;span style="font-family: 宋体"&gt;用三元运算符可以在一定程度减少了代码量，但与之前不一样的是，在这里如果用户输入年龄有误，就会给一个默认值。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;&lt;span style="font-family: 宋体"&gt;上面这两种做法都还行，能起一定的效果，但最大的依赖是&lt;/span&gt;TryParse&lt;span style="font-family: 宋体"&gt;，这样在业务逻辑上有一点别扭，是通过一个方法来验证类型的。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;&lt;span style="font-family: 宋体"&gt;其实用更好的办法，如下：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;Regex&lt;/span&gt; reg =&amp;nbsp;&lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;Regex&lt;/span&gt;(&lt;span style="color: #a31515"&gt;@"^\d+$"&lt;/span&gt;);&lt;span style="color: green"&gt;//&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; color: green; font-size: 9pt"&gt;重复一次或多次&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; color: #a31515; font-size: 9pt"&gt;请输入年龄："&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;string&lt;/span&gt; agestr = &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.ReadLine();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;if&lt;/span&gt; (reg.Match(agestr).Success)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; color: #a31515; font-size: 9pt"&gt;年龄是：{0}"&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;, agestr);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; color: #a31515; font-size: 9pt"&gt;输入的年龄有误"&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 18pt"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;&lt;span style="font-family: 宋体"&gt;正则表达式，它能很好解决这个问题，这里不是在讨论正则表达式，关于它的学习，请参考相关文档，在这里主要说明，在语言中引用这个技术，在很大程度上解决了数据的安全性，有效性。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;&lt;span style="font-family: 宋体"&gt;比如，我们都知道，年龄，特别是人的年龄，是在&lt;/span&gt;0&lt;span style="font-family: 宋体"&gt;到&lt;/span&gt;150&lt;span style="font-family: 宋体"&gt;，没有负数，也没有见过超过&lt;/span&gt;150&lt;span style="font-family: 宋体"&gt;岁的人，如果前两段代码做的话，那就是分段验证，前面验证是否为整型，后面验证是否在&lt;/span&gt;0&lt;span style="font-family: 宋体"&gt;到&lt;/span&gt;150&lt;span style="font-family: 宋体"&gt;岁之间，如果用正则，只需要如下变化：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 18pt"&gt;&lt;span style="font-family: 新宋体; color: #2b91af; font-size: 9pt"&gt;Regex&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt; reg = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;Regex&lt;/span&gt;(&lt;span style="color: #a31515"&gt;@"^\d$|^\d{2}$|^1[0-4]\d$|^150$"&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 21pt"&gt;&lt;span style="font-family: 宋体"&gt;只要一次的验证，改正则表达式，就能答到数据的验证。&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family: 宋体; font-size: 10.5pt"&gt;提倡用正则，&lt;span style="font-family: 宋体; font-size: 10.5pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;但正则一般学习和理解起来有一点难度，这就是双刃剑&lt;/span&gt;。&lt;/span&gt;&lt;img src="http://www.cnblogs.com/axzxs2001/aggbug/1715830.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/axzxs2001/archive/2010/04/20/1715830.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/axzxs2001/archive/2010/03/29/1699301.html</id><title type="text">关于DataGridView的索引</title><summary type="text">最近在做一个课堂练习是被郁闷了一把。现成的事成了想当然的事。案例如下。是一个WinForm程序，在DataGridView绑定控件后，选择一行，进行操作，代码如下：数据绑定代码：SqlDataAdapter da = new SqlDataAdapter("selectid from shuji","server=.;database=tushudb;uid=sa;pwd=sa;"); DataT...</summary><published>2010-03-29T02:11:00Z</published><updated>2010-03-29T02:11:00Z</updated><author><name>桂素伟</name><uri>http://www.cnblogs.com/axzxs2001/</uri></author><link rel="alternate" href="http://www.cnblogs.com/axzxs2001/archive/2010/03/29/1699301.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/axzxs2001/archive/2010/03/29/1699301.html"/><content type="html">&lt;font size="3" face="Times New Roman"&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;最近在做一个课堂练习是被郁闷了一把。现成的事成了想当然的事。案例如下。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;是一个&lt;/span&gt;WinForm&lt;span style="font-family: 宋体"&gt;程序，在&lt;/span&gt;DataGridView&lt;span style="font-family: 宋体"&gt;绑定控件后，选择一行，进行操作，代码如下：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 宋体"&gt;数据绑定代码：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; color: #2b91af; font-size: 9pt"&gt;SqlDataAdapter&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt; da = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;SqlDataAdapter&lt;/span&gt;(&lt;span style="color: #a31515"&gt;"select&amp;nbsp;id from shuji"&lt;/span&gt;,&lt;span style="color: #a31515"&gt;"server=.;database=tushudb;uid=sa;pwd=sa;"&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;DataTable&lt;/span&gt; dt = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;DataTable&lt;/span&gt;();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; da.Fill(dt);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; My_DGV.DataSource = dt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;这是选择一行后的操作&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;label1 .Text =&amp;nbsp;&amp;nbsp; My_DGV.Rows[e.RowIndex].Cells[0].Value.ToString();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;对于DataGridView来说，有两个例，代码如下：&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: green"&gt;// Column1&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;this&lt;/span&gt;.Column1.DataPropertyName = &lt;span style="color: #a31515"&gt;"id"&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;this&lt;/span&gt;.Column1.HeaderText = &lt;span style="color: #a31515"&gt;"ID"&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;this&lt;/span&gt;.Column1.Name = &lt;span style="color: #a31515"&gt;"Column1"&lt;/span&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: green"&gt;// Column2 &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;this&lt;/span&gt;.Column2.DataPropertyName = &lt;span style="color: #a31515"&gt;"ISBN"&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;this&lt;/span&gt;.Column2.HeaderText = &lt;span style="color: #a31515"&gt;"ISBN"&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;this&lt;/span&gt;.Column2.Name = &lt;span style="color: #a31515"&gt;"Column2"&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;上面的两行，我是先添加&lt;/span&gt;Column2&lt;span style="font-family: 宋体"&gt;，后添加&lt;/span&gt;Conlumn1&lt;span style="font-family: 宋体"&gt;的，然后把&lt;/span&gt;name&lt;span style="font-family: 宋体"&gt;属性换掉的。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;如果数据库中有数据，运行后，在&lt;/span&gt;DataGridView&lt;span style="font-family: 宋体"&gt;中就会有数据记录：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/datagridview_1.jpg" width="238" height="96" /&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 宋体; font-size: 12pt"&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;当我们选一行时，会报一个&amp;#8220;未将对象引用设置到对象的实例&amp;#8221;。当出现这个问题，我很是纳闷，因为我查询出一行，并且已经在&lt;/span&gt;ID&lt;span style="font-family: 宋体"&gt;这列中显示出来了，当我取这某一行的列索引为&lt;/span&gt;0&lt;span style="font-family: 宋体"&gt;时，出问题了，没有实例，也就是为&lt;/span&gt;null&lt;span style="font-family: 宋体"&gt;。不应该呀，于是就找根源。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;先看局部变量窗口中的&lt;/span&gt;My_DGV&lt;span style="font-family: 宋体"&gt;对象，数据都在这个对象的&lt;/span&gt;Rows&lt;span style="font-family: 宋体"&gt;集合下，并且在非公共成员&lt;/span&gt;List&lt;span style="font-family: 宋体"&gt;集合中，这个集合存着所有&lt;/span&gt;Grid&lt;span style="font-family: 宋体"&gt;的行，在这个集合中的某个元素中，有一个&lt;/span&gt;Cells&lt;span style="font-family: 宋体"&gt;的属性，这个属性是这一行所有列的集合，展开这个属性的&lt;/span&gt;List&lt;span style="font-family: 宋体"&gt;属性，因为我们取的是第&lt;/span&gt;0&lt;span style="font-family: 宋体"&gt;列索引，所以展开下标为&lt;/span&gt;0&lt;span style="font-family: 宋体"&gt;的，再展开&lt;/span&gt;base&lt;span style="font-family: 宋体"&gt;，其中有一个&lt;/span&gt;value&lt;span style="font-family: 宋体"&gt;值，不难看到，这个值是&lt;/span&gt;null&lt;span style="font-family: 宋体"&gt;，也就是这列上没有值，为什么呢？如果仔细看，有一个&lt;/span&gt;OwningColum&lt;span style="font-family: 宋体"&gt;的属性，这个属性中明确的看到，&lt;/span&gt;Name=Column2&lt;span style="font-family: 宋体"&gt;，&lt;/span&gt;Index=0&lt;span style="font-family: 宋体"&gt;，也就是告诉我们，即使是我们改了每个列的&lt;/span&gt;name&lt;span style="font-family: 宋体"&gt;属性，但一开始我们在&lt;/span&gt;DataGridView&lt;span style="font-family: 宋体"&gt;的&lt;/span&gt;Columns&lt;span style="font-family: 宋体"&gt;集合中添加列的顺序是没有变的，即在集合中的位置是不变的。所以上图中的&lt;/span&gt;ID&lt;span style="font-family: 宋体"&gt;列，是和&lt;/span&gt;ISBN&lt;span style="font-family: 宋体"&gt;列换了一下位置的，所以在找下标为&lt;/span&gt;0&lt;span style="font-family: 宋体"&gt;的列是，其实找的是&lt;/span&gt;ISBN&lt;span style="font-family: 宋体"&gt;，是没有数据的。所以最好不要用下标来取值。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;当然，我们可以取行某列时，改成如下&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;label1 .Text =&amp;nbsp;&amp;nbsp; My_DGV.Rows[e.RowIndex].Cells[&lt;span style="color: #a31515"&gt;"Column1"&lt;/span&gt;].Value.ToString();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;这样就会显示的告我们选的是那一行的数据。&lt;/span&gt;&lt;/p&gt;&lt;/font&gt;&lt;img src="http://www.cnblogs.com/axzxs2001/aggbug/1699301.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/axzxs2001/archive/2010/03/29/1699301.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/axzxs2001/archive/2010/03/09/1681883.html</id><title type="text">LINQ表间关联执行分析</title><summary type="text">在数据库中，经验有两个表关联的情况，也就是一个表中的主键为另一个表的外键，在ADO.NET时，如果向两个表中同时添中数据，我们通常做三步SQL操作，第一步：添加主表数据，第二步：得到主表中的主键，第三步：添加子表数据，在通常状况下，这些都是在事务中。先看一下数据库表结构。一个表为父表（这里为了说明技术，表没有具体意义），名字为FatherTable如下：还有一个子表，名字为SonTable如下：两...</summary><published>2010-03-09T09:38:00Z</published><updated>2010-03-09T09:38:00Z</updated><author><name>桂素伟</name><uri>http://www.cnblogs.com/axzxs2001/</uri></author><link rel="alternate" href="http://www.cnblogs.com/axzxs2001/archive/2010/03/09/1681883.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/axzxs2001/archive/2010/03/09/1681883.html"/><content type="html">&lt;p align="left"&gt;&lt;span style="font-family: 宋体; font-size: 9pt"&gt;在数据库中，经验有两个表关联的情况，也就是一个表中的主键为另一个表的外键，在ADO.NET时，如果向两个表中同时添中数据，我们通常做三步SQL操作，第一步：添加主表数据，第二步：得到主表中的主键，第三步：添加子表数据，在通常状况下，这些都是在事务中。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 宋体; font-size: 9pt"&gt;先看一下数据库表结构。一个表为父表（这里为了说明技术，表没有具体意义），名字为FatherTable如下：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 宋体; font-size: 9pt"&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/Linq_2.jpg" width="336" height="80" /&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 宋体; font-size: 12pt"&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 宋体; font-size: 9pt"&gt;还有一个子表，名字为SonTable如下：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/Linq_3.jpg" width="307" height="77" /&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;两个表之间有下图这样一个关系：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/Linq_1.jpg" width="457" height="119" /&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 宋体; font-size: 9pt"&gt;先看一下ADO.NET如何实现：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; color: blue; font-size: 9pt"&gt;class&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt; &lt;span style="color: #2b91af"&gt;TestDemo&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;string&lt;/span&gt; constr = &lt;span style="color: #a31515"&gt;"Data Source=.;Initial Catalog=MyTestDB;Persist Security Info=True;User ID=sa;Password=sa"&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;static&lt;/span&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; Main()&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;TestDemo&lt;/span&gt; TD = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;TestDemo&lt;/span&gt;();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;SqlConnection&lt;/span&gt; con = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;SqlConnection&lt;/span&gt;(TD.constr);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;SqlCommand&lt;/span&gt; cmd = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;SqlCommand&lt;/span&gt;();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmd.Connection = con;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;SqlTransaction&lt;/span&gt; tran = &lt;span style="color: blue"&gt;null&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;try&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con.Open();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tran = con.BeginTransaction();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cmd.Transaction = tran;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmd.CommandText = &lt;span style="color: #a31515"&gt;"insert into fathertable([name]) values(@name)"&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmd.Parameters.Clear();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmd.Parameters.Add(&lt;span style="color: #a31515"&gt;"@name"&lt;/span&gt;, &lt;span style="color: #2b91af"&gt;SqlDbType&lt;/span&gt;.VarChar).Value = &lt;span style="color: #a31515"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; color: #a31515; font-size: 9pt"&gt;李四"&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmd.ExecuteNonQuery();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmd.CommandText = &lt;span style="color: #a31515"&gt;"select @@identity"&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;int&lt;/span&gt; id = &lt;span style="color: #2b91af"&gt;Convert&lt;/span&gt;.ToInt32(cmd.ExecuteScalar());&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmd.CommandText = &lt;span style="color: #a31515"&gt;"insert into sontable(fid,names) values(@id,@names)"&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmd.Parameters.Clear();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmd.Parameters.Add(&lt;span style="color: #a31515"&gt;"@id"&lt;/span&gt;, &lt;span style="color: #2b91af"&gt;SqlDbType&lt;/span&gt;.Int).Value = id;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmd.Parameters.Add(&lt;span style="color: #a31515"&gt;"@names"&lt;/span&gt;, &lt;span style="color: #2b91af"&gt;SqlDbType&lt;/span&gt;.VarChar).Value = &lt;span style="color: #a31515"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; color: #a31515; font-size: 9pt"&gt;李四A"&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmd.ExecuteNonQuery();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tran.Commit();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;catch&lt;/span&gt; (&lt;span style="color: #2b91af"&gt;Exception&lt;/span&gt; exc)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(exc.Message);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tran.Rollback();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;finally&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con.Close();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 17.25pt"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 宋体; font-size: 9pt"&gt;ADO.NET&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 9pt"&gt;的事务没有什么好说的，现在来看看用Linq怎么实现，首先添加一个&amp;#8220;LINQ to SQL类&amp;#8221;，在&amp;#8220;服务器资源管理器&amp;#8221;中连接数据库，然后选中FatherTable和SonTable表，如下图&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 宋体; font-size: 9pt"&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/Linq_5.jpg" width="444" height="160" /&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 宋体; font-size: 9pt"&gt;接下来，编程来实现添加操作，代码如下：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; color: blue; font-size: 9pt"&gt;class&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt; &lt;span style="color: #2b91af"&gt;TestDemo&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;string&lt;/span&gt; constr = &lt;span style="color: #a31515"&gt;"Data Source=.;Initial Catalog=MyTestDB;Persist Security Info=True;User ID=sa;Password=sa"&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;static&lt;/span&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; Main()&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;TestDemo&lt;/span&gt; td=&lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;TestDemo&lt;/span&gt; ();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;DataClasses1DataContext&lt;/span&gt; DCDC = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;DataClasses1DataContext&lt;/span&gt;(td.constr);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;FatherTable&lt;/span&gt; ft = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;FatherTable&lt;/span&gt;();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ft.name = &lt;span style="color: #a31515"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; color: #a31515; font-size: 9pt"&gt;王五"&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;SonTable&lt;/span&gt;&amp;nbsp;st1 = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;SonTable&lt;/span&gt;();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; st1.names = &lt;span style="color: #a31515"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; color: #a31515; font-size: 9pt"&gt;王五A"&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ft.SonTable.Add(st1);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;SonTable&lt;/span&gt; st2 = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;SonTable&lt;/span&gt;();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; st2.names = &lt;span style="color: #a31515"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; color: #a31515; font-size: 9pt"&gt;王五B"&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ft.SonTable.Add(st2);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DCDC.FatherTable.InsertOnSubmit(ft);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DCDC.SubmitChanges();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 17.25pt"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 宋体; font-size: 9pt"&gt;运后的结果是一样的。用ADO.NET，我们自己写的SQL语句，清楚我们对数据执行了什么操作，上面的用Linq to Sql做的话，就不知道系统执行了什么操作。我们看见系统调用了DataClasses1DataContext类的SubmitChanges，这个方法在DataClasses1DataContext找不到，它是从DataContext继承下来的。我们用工具Reflector查看，SubmitChanges是调用有参的SubmitChanges(ConflictMode)，这个方法代码如下:&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;public virtual &lt;a title="System.Void" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:2.0.0.0:b77a5c561934e089/System.Void" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;void&lt;/span&gt;&lt;/a&gt; &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.DataContext/SubmitChanges(System.Data.Linq.ConflictMode)" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;SubmitChanges&lt;/span&gt;&lt;/a&gt;(&lt;a title="System.Data.Linq.ConflictMode" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ConflictMode" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;ConflictMode&lt;/span&gt;&lt;/a&gt; failureMode)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.&lt;a title="void System.Data.Linq.DataContext.CheckDispose();" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.DataContext/CheckDispose()" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;CheckDispose&lt;/span&gt;&lt;/a&gt;();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.&lt;a title="void System.Data.Linq.DataContext.CheckNotInSubmitChanges();" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.DataContext/CheckNotInSubmitChanges()" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;CheckNotInSubmitChanges&lt;/span&gt;&lt;/a&gt;();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.&lt;a title="void System.Data.Linq.DataContext.VerifyTrackingEnabled();" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.DataContext/VerifyTrackingEnabled()" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;VerifyTrackingEnabled&lt;/span&gt;&lt;/a&gt;();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.&lt;a title="ChangeConflictCollection System.Data.Linq.DataContext.conflicts;" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.DataContext/conflicts:System.Data.Linq.ChangeConflictCollection" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;conflicts&lt;/span&gt;&lt;/a&gt;.&lt;a title="void System.Data.Linq.ChangeConflictCollection.Clear();" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ChangeConflictCollection/Clear()" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;Clear&lt;/span&gt;&lt;/a&gt;();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.&lt;a title="bool System.Data.Linq.DataContext.isInSubmitChanges;" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.DataContext/isInSubmitChanges:Boolean" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;isInSubmitChanges&lt;/span&gt;&lt;/a&gt; = true;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((&lt;a title="System.Transactions.Transaction" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Transactions:2.0.0.0:b77a5c561934e089/System.Transactions.Transaction" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;Transaction&lt;/span&gt;&lt;/a&gt;.&lt;a title="Transaction System.Transactions.Transaction.Current { ... }" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Transactions:2.0.0.0:b77a5c561934e089/System.Transactions.Transaction/property:Current:System.Transactions.Transaction" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;Current&lt;/span&gt;&lt;/a&gt; == null) &amp;amp;&amp;amp; (this.&lt;a title="IProvider System.Data.Linq.DataContext.provider;" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.DataContext/provider:System.Data.Linq.Provider.IProvider" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;provider&lt;/span&gt;&lt;/a&gt;.&lt;a title="DbTransaction System.Data.Linq.Provider.IProvider.Transaction { ... }" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.Provider.IProvider/property:Transaction:System.Data.Common.DbTransaction" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;Transaction&lt;/span&gt;&lt;/a&gt; == null))&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a title="System.Boolean" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:2.0.0.0:b77a5c561934e089/System.Boolean" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;bool&lt;/span&gt;&lt;/a&gt; flag = false;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a title="System.Data.Common.DbTransaction" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data:2.0.0.0:b77a5c561934e089/System.Data.Common.DbTransaction" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;DbTransaction&lt;/span&gt;&lt;/a&gt; transaction = null;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (this.&lt;a title="IProvider System.Data.Linq.DataContext.provider;" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.DataContext/provider:System.Data.Linq.Provider.IProvider" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;provider&lt;/span&gt;&lt;/a&gt;.&lt;a title="DbConnection System.Data.Linq.Provider.IProvider.Connection { ... }" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.Provider.IProvider/property:Connection:System.Data.Common.DbConnection" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;Connection&lt;/span&gt;&lt;/a&gt;.&lt;a title="ConnectionState System.Data.Common.DbConnection.State { ... }" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data:4.0.0.0:b77a5c561934e089/System.Data.Common.DbConnection/property:State:System.Data.ConnectionState" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;State&lt;/span&gt;&lt;/a&gt; == &lt;a title="System.Data.ConnectionState" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data:4.0.0.0:b77a5c561934e089/System.Data.ConnectionState" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;ConnectionState&lt;/span&gt;&lt;/a&gt;.&lt;a title="ConnectionState System.Data.ConnectionState.Open;" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data:4.0.0.0:b77a5c561934e089/System.Data.ConnectionState/Open" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;Open&lt;/span&gt;&lt;/a&gt;)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.&lt;a title="IProvider System.Data.Linq.DataContext.provider;" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.DataContext/provider:System.Data.Linq.Provider.IProvider" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;provider&lt;/span&gt;&lt;/a&gt;.&lt;a title="void System.Data.Linq.Provider.IProvider.ClearConnection();" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.Provider.IProvider/ClearConnection()" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;ClearConnection&lt;/span&gt;&lt;/a&gt;();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (this.&lt;a title="IProvider System.Data.Linq.DataContext.provider;" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.DataContext/provider:System.Data.Linq.Provider.IProvider" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;provider&lt;/span&gt;&lt;/a&gt;.&lt;a title="DbConnection System.Data.Linq.Provider.IProvider.Connection { ... }" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.Provider.IProvider/property:Connection:System.Data.Common.DbConnection" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;Connection&lt;/span&gt;&lt;/a&gt;.&lt;a title="ConnectionState System.Data.Common.DbConnection.State { ... }" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data:4.0.0.0:b77a5c561934e089/System.Data.Common.DbConnection/property:State:System.Data.ConnectionState" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;State&lt;/span&gt;&lt;/a&gt; == &lt;a title="System.Data.ConnectionState" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data:4.0.0.0:b77a5c561934e089/System.Data.ConnectionState" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;ConnectionState&lt;/span&gt;&lt;/a&gt;.&lt;a title="ConnectionState System.Data.ConnectionState.Closed;" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data:4.0.0.0:b77a5c561934e089/System.Data.ConnectionState/Closed" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;Closed&lt;/span&gt;&lt;/a&gt;)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.&lt;a title="IProvider System.Data.Linq.DataContext.provider;" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.DataContext/provider:System.Data.Linq.Provider.IProvider" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;provider&lt;/span&gt;&lt;/a&gt;.&lt;a title="DbConnection System.Data.Linq.Provider.IProvider.Connection { ... }" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.Provider.IProvider/property:Connection:System.Data.Common.DbConnection" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;Connection&lt;/span&gt;&lt;/a&gt;.&lt;a title="void System.Data.Common.DbConnection.Open();" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data:2.0.0.0:b77a5c561934e089/System.Data.Common.DbConnection/Open()" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;Open&lt;/span&gt;&lt;/a&gt;();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; flag = true;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; transaction = this.&lt;a title="IProvider System.Data.Linq.DataContext.provider;" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.DataContext/provider:System.Data.Linq.Provider.IProvider" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;provider&lt;/span&gt;&lt;/a&gt;.&lt;a title="DbConnection System.Data.Linq.Provider.IProvider.Connection { ... }" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.Provider.IProvider/property:Connection:System.Data.Common.DbConnection" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;Connection&lt;/span&gt;&lt;/a&gt;.&lt;a title="DbTransaction System.Data.Common.DbConnection.BeginTransaction(IsolationLevel);" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data:2.0.0.0:b77a5c561934e089/System.Data.Common.DbConnection/BeginTransaction(System.Data.IsolationLevel):System.Data.Common.DbTransaction" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;BeginTransaction&lt;/span&gt;&lt;/a&gt;(&lt;a title="System.Data.IsolationLevel" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data:4.0.0.0:b77a5c561934e089/System.Data.IsolationLevel" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;IsolationLevel&lt;/span&gt;&lt;/a&gt;.&lt;a title="IsolationLevel System.Data.IsolationLevel.ReadCommitted;" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data:4.0.0.0:b77a5c561934e089/System.Data.IsolationLevel/ReadCommitted" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;ReadCommitted&lt;/span&gt;&lt;/a&gt;);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.&lt;a title="IProvider System.Data.Linq.DataContext.provider;" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.DataContext/provider:System.Data.Linq.Provider.IProvider" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;provider&lt;/span&gt;&lt;/a&gt;.&lt;a title="DbTransaction System.Data.Linq.Provider.IProvider.Transaction { ... }" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.Provider.IProvider/property:Transaction:System.Data.Common.DbTransaction" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;Transaction&lt;/span&gt;&lt;/a&gt; = transaction;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new &lt;a title="System.Data.Linq.ChangeProcessor.ChangeProcessor(CommonDataServices services, DataContext context);" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ChangeProcessor/.ctor(System.Data.Linq.CommonDataServices,System.Data.Linq.DataContext)" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;ChangeProcessor&lt;/span&gt;&lt;/a&gt;(this.&lt;a title="CommonDataServices System.Data.Linq.DataContext.services;" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.DataContext/services:System.Data.Linq.CommonDataServices" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;services&lt;/span&gt;&lt;/a&gt;, this).&lt;a title="void System.Data.Linq.ChangeProcessor.SubmitChanges(ConflictMode failureMode);" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ChangeProcessor/SubmitChanges(System.Data.Linq.ConflictMode)" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;SubmitChanges&lt;/span&gt;&lt;/a&gt;(failureMode);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.&lt;a title="void System.Data.Linq.DataContext.AcceptChanges();" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.DataContext/AcceptChanges()" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;AcceptChanges&lt;/span&gt;&lt;/a&gt;();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.&lt;a title="IProvider System.Data.Linq.DataContext.provider;" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.DataContext/provider:System.Data.Linq.Provider.IProvider" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;provider&lt;/span&gt;&lt;/a&gt;.&lt;a title="void System.Data.Linq.Provider.IProvider.ClearConnection();" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.Provider.IProvider/ClearConnection()" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;ClearConnection&lt;/span&gt;&lt;/a&gt;();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; transaction.&lt;a title="void System.Data.Common.DbTransaction.Commit();" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data:2.0.0.0:b77a5c561934e089/System.Data.Common.DbTransaction/Commit()" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;Commit&lt;/span&gt;&lt;/a&gt;();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (transaction != null)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; transaction.&lt;a title="void System.Data.Common.DbTransaction.Rollback();" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data:2.0.0.0:b77a5c561934e089/System.Data.Common.DbTransaction/Rollback()" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;Rollback&lt;/span&gt;&lt;/a&gt;();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; finally&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.&lt;a title="IProvider System.Data.Linq.DataContext.provider;" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.DataContext/provider:System.Data.Linq.Provider.IProvider" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;provider&lt;/span&gt;&lt;/a&gt;.&lt;a title="DbTransaction System.Data.Linq.Provider.IProvider.Transaction { ... }" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.Provider.IProvider/property:Transaction:System.Data.Common.DbTransaction" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;Transaction&lt;/span&gt;&lt;/a&gt; = null;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (flag)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;this.&lt;a title="IProvider System.Data.Linq.DataContext.provider;" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.DataContext/provider:System.Data.Linq.Provider.IProvider" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;provider&lt;/span&gt;&lt;/a&gt;.&lt;a title="DbConnection System.Data.Linq.Provider.IProvider.Connection { ... }" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.Provider.IProvider/property:Connection:System.Data.Common.DbConnection" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;Connection&lt;/span&gt;&lt;/a&gt;.&lt;a title="void System.Data.Common.DbConnection.Close();" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data:2.0.0.0:b77a5c561934e089/System.Data.Common.DbConnection/Close()" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;Close&lt;/span&gt;&lt;/a&gt;();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new &lt;a title="System.Data.Linq.ChangeProcessor.ChangeProcessor(CommonDataServices services, DataContext context);" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ChangeProcessor/.ctor(System.Data.Linq.CommonDataServices,System.Data.Linq.DataContext)" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;ChangeProcessor&lt;/span&gt;&lt;/a&gt;(this.&lt;a title="CommonDataServices System.Data.Linq.DataContext.services;" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.DataContext/services:System.Data.Linq.CommonDataServices" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;services&lt;/span&gt;&lt;/a&gt;, this).&lt;a title="void System.Data.Linq.ChangeProcessor.SubmitChanges(ConflictMode failureMode);" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ChangeProcessor/SubmitChanges(System.Data.Linq.ConflictMode)" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;SubmitChanges&lt;/span&gt;&lt;/a&gt;(failureMode);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.&lt;a title="void System.Data.Linq.DataContext.AcceptChanges();" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.DataContext/AcceptChanges()" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;AcceptChanges&lt;/span&gt;&lt;/a&gt;();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; finally&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.&lt;a title="bool System.Data.Linq.DataContext.isInSubmitChanges;" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.DataContext/isInSubmitChanges:Boolean" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;isInSubmitChanges&lt;/span&gt;&lt;/a&gt; = false;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 宋体; font-size: 9pt"&gt;我们清楚的看到，这里面启用了事务，与我们ADO.NET的做法是一样的。事务有了，SQL语句怎么样？继续查找&lt;a title="void System.Data.Linq.ChangeProcessor.SubmitChanges(ConflictMode failureMode);" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ChangeProcessor/SubmitChanges(System.Data.Linq.ConflictMode)" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;SubmitChanges&lt;/a&gt;&lt;/span&gt;方法，代码如下：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;table style="width: 100%" border="0" cellspacing="0" cellpadding="0" width="100%"&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td style="border-bottom: #f0f0f0; border-left: #f0f0f0; padding-bottom: 3pt; background-color: transparent; padding-left: 3.75pt; padding-right: 3.75pt; border-top: #f0f0f0; border-right: #f0f0f0; padding-top: 3pt" valign="top"&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;internal &lt;a title="System.Void" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:2.0.0.0:b77a5c561934e089/System.Void" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;void&lt;/span&gt;&lt;/a&gt; &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ChangeProcessor/SubmitChanges(System.Data.Linq.ConflictMode)" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;SubmitChanges&lt;/span&gt;&lt;/a&gt;(&lt;a title="System.Data.Linq.ConflictMode" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ConflictMode" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;ConflictMode&lt;/span&gt;&lt;/a&gt; failureMode)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.&lt;a title="void System.Data.Linq.ChangeProcessor.TrackUntrackedObjects();" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ChangeProcessor/TrackUntrackedObjects()" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;TrackUntrackedObjects&lt;/span&gt;&lt;/a&gt;();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.&lt;a title="void System.Data.Linq.ChangeProcessor.ApplyInferredDeletions();" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ChangeProcessor/ApplyInferredDeletions()" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;ApplyInferredDeletions&lt;/span&gt;&lt;/a&gt;();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.&lt;a title="void System.Data.Linq.ChangeProcessor.BuildEdgeMaps();" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ChangeProcessor/BuildEdgeMaps()" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;BuildEdgeMaps&lt;/span&gt;&lt;/a&gt;();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a title="System.Collections.Generic.List&lt;TrackedObject&gt;" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:2.0.0.0:b77a5c561934e089/System.Collections.Generic.List%3c%3e" target=_blank&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;List&lt;/span&gt;&lt;/a&gt;&amp;lt;&lt;a title="System.Data.Linq.TrackedObject" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.TrackedObject" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;TrackedObject&lt;/span&gt;&lt;/a&gt;&amp;gt; orderedList = this.&lt;a title="List&lt;TrackedObject&gt; System.Data.Linq.ChangeProcessor.GetOrderedList();" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ChangeProcessor/GetOrderedList():System.Collections.Generic.List%3cSystem.Data.Linq.TrackedObject%3e" target=_blank&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;GetOrderedList&lt;/span&gt;&lt;/a&gt;();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a title="void System.Data.Linq.ChangeProcessor.ValidateAll(IEnumerable&lt;TrackedObject&gt; list);" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ChangeProcessor/ValidateAll(System.Collections.Generic.IEnumerable%3cSystem.Data.Linq.TrackedObject%3e)" target=_blank&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;ValidateAll&lt;/span&gt;&lt;/a&gt;(orderedList);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a title="System.Int32" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:2.0.0.0:b77a5c561934e089/System.Int32" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;int&lt;/span&gt;&lt;/a&gt; totalUpdatesAttempted = 0;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a title="System.Data.Linq.ChangeConflictSession" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ChangeConflictSession" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;ChangeConflictSession&lt;/span&gt;&lt;/a&gt; session = new &lt;a title="System.Data.Linq.ChangeConflictSession.ChangeConflictSession(DataContext context);" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ChangeConflictSession/.ctor(System.Data.Linq.DataContext)" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;ChangeConflictSession&lt;/span&gt;&lt;/a&gt;(this.&lt;a title="DataContext System.Data.Linq.ChangeProcessor.context;" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ChangeProcessor/context:System.Data.Linq.DataContext" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;context&lt;/span&gt;&lt;/a&gt;);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a title="System.Collections.Generic.List&lt;ObjectChangeConflict&gt;" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:2.0.0.0:b77a5c561934e089/System.Collections.Generic.List%3c%3e" target=_blank&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;List&lt;/span&gt;&lt;/a&gt;&amp;lt;&lt;a title="System.Data.Linq.ObjectChangeConflict" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ObjectChangeConflict" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;ObjectChangeConflict&lt;/span&gt;&lt;/a&gt;&amp;gt; conflictList = new &lt;a title="System.Collections.Generic.List&lt;ObjectChangeConflict&gt;.List&lt;objectchangeconflict&gt;();" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:2.0.0.0:b77a5c561934e089/System.Collections.Generic.List%3c%3e" target=_blank&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;List&lt;/span&gt;&lt;/a&gt;&amp;lt;&lt;a title="System.Data.Linq.ObjectChangeConflict" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ObjectChangeConflict" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;ObjectChangeConflict&lt;/span&gt;&lt;/a&gt;&amp;gt;();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a title="System.Collections.Generic.List&lt;TrackedObject&gt;" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:2.0.0.0:b77a5c561934e089/System.Collections.Generic.List%3c%3e" target=_blank&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;List&lt;/span&gt;&lt;/a&gt;&amp;lt;&lt;a title="System.Data.Linq.TrackedObject" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.TrackedObject" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;TrackedObject&lt;/span&gt;&lt;/a&gt;&amp;gt; deletedItems = new &lt;a title="System.Collections.Generic.List&lt;TrackedObject&gt;.List&lt;trackedobject&gt;();" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:2.0.0.0:b77a5c561934e089/System.Collections.Generic.List%3c%3e" target=_blank&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;List&lt;/span&gt;&lt;/a&gt;&amp;lt;&lt;a title="System.Data.Linq.TrackedObject" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.TrackedObject" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;TrackedObject&lt;/span&gt;&lt;/a&gt;&amp;gt;();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a title="System.Collections.Generic.List&lt;TrackedObject&gt;" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:2.0.0.0:b77a5c561934e089/System.Collections.Generic.List%3c%3e" target=_blank&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;List&lt;/span&gt;&lt;/a&gt;&amp;lt;&lt;a title="System.Data.Linq.TrackedObject" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.TrackedObject" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;TrackedObject&lt;/span&gt;&lt;/a&gt;&amp;gt; insertedItems = new &lt;a title="System.Collections.Generic.List&lt;TrackedObject&gt;.List&lt;trackedobject&gt;();" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:2.0.0.0:b77a5c561934e089/System.Collections.Generic.List%3c%3e" target=_blank&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;List&lt;/span&gt;&lt;/a&gt;&amp;lt;&lt;a title="System.Data.Linq.TrackedObject" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.TrackedObject" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;TrackedObject&lt;/span&gt;&lt;/a&gt;&amp;gt;();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (&lt;a title="System.Data.Linq.TrackedObject" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.TrackedObject" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;TrackedObject&lt;/span&gt;&lt;/a&gt; obj2 in orderedList)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (obj2.&lt;a title="bool System.Data.Linq.TrackedObject.IsNew { ... }" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.TrackedObject/property:IsNew:Boolean" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;IsNew&lt;/span&gt;&lt;/a&gt;)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; obj2.&lt;a title="void System.Data.Linq.TrackedObject.SynchDependentData();" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.TrackedObject/SynchDependentData()" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;SynchDependentData&lt;/span&gt;&lt;/a&gt;();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.&lt;a title="ChangeDirector System.Data.Linq.ChangeProcessor.changeDirector;" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ChangeProcessor/changeDirector:System.Data.Linq.ChangeDirector" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;changeDirector&lt;/span&gt;&lt;/a&gt;.&lt;a title="int System.Data.Linq.ChangeDirector.Insert(TrackedObject item);" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ChangeDirector/Insert(System.Data.Linq.TrackedObject):Int32" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;Insert&lt;/span&gt;&lt;/a&gt;(obj2);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;insertedItems.&lt;a title="void System.Collections.Generic.List&lt;TrackedObject&gt;.Add(TrackedObject);" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:2.0.0.0:b77a5c561934e089/System.Collections.Generic.List%3c%3e/Add(%3c!0%3e)" target=_blank&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;Add&lt;/span&gt;&lt;/a&gt;(obj2);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (obj2.&lt;a title="bool System.Data.Linq.TrackedObject.IsDeleted { ... }" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.TrackedObject/property:IsDeleted:Boolean" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;IsDeleted&lt;/span&gt;&lt;/a&gt;)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; totalUpdatesAttempted++;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (this.&lt;a title="ChangeDirector System.Data.Linq.ChangeProcessor.changeDirector;" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ChangeProcessor/changeDirector:System.Data.Linq.ChangeDirector" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;changeDirector&lt;/span&gt;&lt;/a&gt;.&lt;a title="int System.Data.Linq.ChangeDirector.Delete(TrackedObject item);" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ChangeDirector/Delete(System.Data.Linq.TrackedObject):Int32" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;Delete&lt;/span&gt;&lt;/a&gt;(obj2) == 0)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; conflictList.&lt;a title="void System.Collections.Generic.List&lt;ObjectChangeConflict&gt;.Add(ObjectChangeConflict);" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:2.0.0.0:b77a5c561934e089/System.Collections.Generic.List%3c%3e/Add(%3c!0%3e)" target=_blank&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;Add&lt;/span&gt;&lt;/a&gt;(new &lt;a title="System.Data.Linq.ObjectChangeConflict.ObjectChangeConflict(ChangeConflictSession session, TrackedObject trackedObject, bool isDeleted);" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ObjectChangeConflict/.ctor(System.Data.Linq.ChangeConflictSession,System.Data.Linq.TrackedObject,Boolean)" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;ObjectChangeConflict&lt;/span&gt;&lt;/a&gt;(session, obj2, false));&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deletedItems.&lt;a title="void System.Collections.Generic.List&lt;TrackedObject&gt;.Add(TrackedObject);" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:2.0.0.0:b77a5c561934e089/System.Collections.Generic.List%3c%3e/Add(%3c!0%3e)" target=_blank&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;Add&lt;/span&gt;&lt;/a&gt;(obj2);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (obj2.&lt;a title="bool System.Data.Linq.TrackedObject.IsPossiblyModified { ... }" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.TrackedObject/property:IsPossiblyModified:Boolean" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;IsPossiblyModified&lt;/span&gt;&lt;/a&gt;)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; obj2.&lt;a title="void System.Data.Linq.TrackedObject.SynchDependentData();" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.TrackedObject/SynchDependentData()" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;SynchDependentData&lt;/span&gt;&lt;/a&gt;();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (obj2.&lt;a title="bool System.Data.Linq.TrackedObject.IsModified { ... }" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.TrackedObject/property:IsModified:Boolean" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;IsModified&lt;/span&gt;&lt;/a&gt;)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a title="void System.Data.Linq.ChangeProcessor.CheckForInvalidChanges(TrackedObject tracked);" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ChangeProcessor/CheckForInvalidChanges(System.Data.Linq.TrackedObject)" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;CheckForInvalidChanges&lt;/span&gt;&lt;/a&gt;(obj2);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; totalUpdatesAttempted++;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (this.&lt;a title="ChangeDirector System.Data.Linq.ChangeProcessor.changeDirector;" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ChangeProcessor/changeDirector:System.Data.Linq.ChangeDirector" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;changeDirector&lt;/span&gt;&lt;/a&gt;.&lt;a title="int System.Data.Linq.ChangeDirector.Update(TrackedObject item);" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ChangeDirector/Update(System.Data.Linq.TrackedObject):Int32" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;Update&lt;/span&gt;&lt;/a&gt;(obj2) &amp;lt;= 0)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; conflictList.&lt;a title="void System.Collections.Generic.List&lt;ObjectChangeConflict&gt;.Add(ObjectChangeConflict);" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:2.0.0.0:b77a5c561934e089/System.Collections.Generic.List%3c%3e/Add(%3c!0%3e)" target=_blank&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;Add&lt;/span&gt;&lt;/a&gt;(new &lt;a title="System.Data.Linq.ObjectChangeConflict.ObjectChangeConflict(ChangeConflictSession session, TrackedObject trackedObject);" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ObjectChangeConflict/.ctor(System.Data.Linq.ChangeConflictSession,System.Data.Linq.TrackedObject)" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;ObjectChangeConflict&lt;/span&gt;&lt;/a&gt;(session, obj2));&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (&lt;a title="System.Data.Linq.ChangeConflictException" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ChangeConflictException" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;ChangeConflictException&lt;/span&gt;&lt;/a&gt;)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; conflictList.&lt;a title="void System.Collections.Generic.List&lt;ObjectChangeConflict&gt;.Add(ObjectChangeConflict);" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:2.0.0.0:b77a5c561934e089/System.Collections.Generic.List%3c%3e/Add(%3c!0%3e)" target=_blank&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;Add&lt;/span&gt;&lt;/a&gt;(new &lt;a title="System.Data.Linq.ObjectChangeConflict.ObjectChangeConflict(ChangeConflictSession session, TrackedObject trackedObject);" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ObjectChangeConflict/.ctor(System.Data.Linq.ChangeConflictSession,System.Data.Linq.TrackedObject)" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;ObjectChangeConflict&lt;/span&gt;&lt;/a&gt;(session, obj2));&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((conflictList.&lt;a title="int System.Collections.Generic.List&lt;ObjectChangeConflict&gt;.Count { ... }" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.Collections.Generic.List%3cSystem.Data.Linq.ObjectChangeConflict%3e/property:Count:Int32" target=_blank&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;Count&lt;/span&gt;&lt;/a&gt; &amp;gt; 0) &amp;amp;&amp;amp; (failureMode == &lt;a title="System.Data.Linq.ConflictMode" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ConflictMode" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;ConflictMode&lt;/span&gt;&lt;/a&gt;.&lt;a title="ConflictMode System.Data.Linq.ConflictMode.FailOnFirstConflict;" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ConflictMode/FailOnFirstConflict" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;FailOnFirstConflict&lt;/span&gt;&lt;/a&gt;))&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (conflictList.&lt;a title="int System.Collections.Generic.List&lt;ObjectChangeConflict&gt;.Count { ... }" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.Collections.Generic.List%3cSystem.Data.Linq.ObjectChangeConflict%3e/property:Count:Int32" target=_blank&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;Count&lt;/span&gt;&lt;/a&gt; &amp;gt; 0)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.&lt;a title="DataContext System.Data.Linq.ChangeProcessor.context;" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ChangeProcessor/context:System.Data.Linq.DataContext" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;context&lt;/span&gt;&lt;/a&gt;.&lt;a title="ChangeConflictCollection System.Data.Linq.DataContext.ChangeConflicts { ... }" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.DataContext/property:ChangeConflicts:System.Data.Linq.ChangeConflictCollection" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;ChangeConflicts&lt;/span&gt;&lt;/a&gt;.&lt;a title="void System.Data.Linq.ChangeConflictCollection.Fill(List&lt;ObjectChangeConflict&gt; conflictList);" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ChangeConflictCollection/Fill(System.Collections.Generic.List%3cSystem.Data.Linq.ObjectChangeConflict%3e)" target=_blank&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;Fill&lt;/span&gt;&lt;/a&gt;(conflictList);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw &lt;a title="ChangeConflictException System.Data.Linq.ChangeProcessor.CreateChangeConflictException(int totalUpdatesAttempted, int failedUpdates);" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ChangeProcessor/CreateChangeConflictException(Int32,Int32):System.Data.Linq.ChangeConflictException" target="_blank"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;CreateChangeConflictException&lt;/span&gt;&lt;/a&gt;(totalUpdatesAttempted, conflictList.&lt;a title="int System.Collections.Generic.List&lt;ObjectChangeConflict&gt;.Count { ... }" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.Collections.Generic.List%3cSystem.Data.Linq.ObjectChangeConflict%3e/property:Count:Int32" target=_blank&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;Count&lt;/span&gt;&lt;/a&gt;);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.&lt;a title="void System.Data.Linq.ChangeProcessor.PostProcessUpdates(List&lt;TrackedObject&gt; insertedItems, List&lt;trackedobject&gt; deletedItems);" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Data.Linq:3.5.0.0:b77a5c561934e089/System.Data.Linq.ChangeProcessor/PostProcessUpdates(System.Collections.Generic.List%3cSystem.Data.Linq.TrackedObject%3e,System.Collections.Generic.List%3cSystem.Data.Linq.TrackedObject%3e)" target=_blank&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;PostProcessUpdates&lt;/span&gt;&lt;/a&gt;(insertedItems, deletedItems);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 宋体; font-size: 9pt"&gt;如果继续下付出，会发现查找许多类，能隐约看出系统在组织sql语句。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 宋体; font-size: 9pt"&gt;与其在这里找，不如到SQL里等它生成的SQL语句看看。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 宋体; font-size: 9pt"&gt;打开SQL的跟踪工具，运行结果如下图：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 宋体; font-size: 9pt"&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/Linq_6.jpg" width="1235" height="151" /&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;起作用的是ApplicationName为.NET SqlClient Data Provider的四五列，第一列为登录数连库，最后注销数据库，语句为中间三列，先看第一列，语句如下：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;exec sp_executesql N'INSERT INTO [dbo].[FatherTable]([name])&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;VALUES (@p0)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;SELECT CONVERT(Int,SCOPE_IDENTITY()) AS [value]',N'@p0 varchar(4)',@p0='&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;王五'&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;执行了两个操作，一个添中，一个查询，查询的是添加后自动生成的ID值，另外两个语句如出一辙，单从SQL语句的角度看，多了两个查询，这在一定程度上没有我们自己写的SQL语句简单，多了子表中的一个查询。&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/axzxs2001/aggbug/1681883.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/axzxs2001/archive/2010/03/09/1681883.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/axzxs2001/archive/2010/02/25/1673100.html</id><title type="text">ado.net连接池</title><summary type="text">ado.NET中提供了连接池的功能，多数开发人员很少设置它，因为它是默认的。界面设置如下图：关闭连接池也很简单，在连接字符串如下：Data Source=(local);Initial Catalog=AdventureWorks;Integrated Security=SSPI;Pooling=False;但连接池的本质是什么样的呢？用Reflector，打开System.Data.SqlCli...</summary><published>2010-02-24T16:46:00Z</published><updated>2010-02-24T16:46:00Z</updated><author><name>桂素伟</name><uri>http://www.cnblogs.com/axzxs2001/</uri></author><link rel="alternate" href="http://www.cnblogs.com/axzxs2001/archive/2010/02/25/1673100.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/axzxs2001/archive/2010/02/25/1673100.html"/><content type="html">&lt;p&gt;ado.NET&lt;span style="font-family: 宋体"&gt;中提供了连接池的功能，多数开发人员很少设置它，因为它是默认的。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;界面设置如下图：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;&#xD;
&lt;div align="center"&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/axzxs2001/ado.netpool.png" width="358" height="450" /&gt;&lt;/div&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;关闭连接池也很简单，在连接字符串如下：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Data Source=(local);Initial Catalog=AdventureWorks;Integrated Security=SSPI;Pooling=False&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;但连接池的本质是什么样的呢？&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;用&lt;/span&gt;Reflector&lt;span style="font-family: 宋体"&gt;，打开&lt;/span&gt;System.Data.SqlClient.SqlConnection&lt;span style="font-family: 宋体"&gt;的&lt;/span&gt;ConnectionString&lt;span style="font-family: 宋体"&gt;属性的设置值的方法，如下：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;private void ConnectionString_Set(string value)&lt;/p&gt;&#xD;
&lt;p&gt;{&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DbConnectionOptions userConnectionOptions = null;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DbConnectionPoolGroup group = this.ConnectionFactory.&lt;span style="color: red"&gt;GetConnectionPoolGroup&lt;/span&gt;(value, null, ref userConnectionOptions);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DbConnectionInternal innerConnection = this.InnerConnection;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool allowSetConnectionString = innerConnection.AllowSetConnectionString;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (allowSetConnectionString)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; allowSetConnectionString= this.SetInnerConnectionFrom(DbConnectionClosedBusy.SingletonInstance, innerConnection);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (allowSetConnectionString)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this._userConnectionOptions = userConnectionOptions;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this._poolGroup = group;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this._innerConnection = DbConnectionClosedNeverOpened.SingletonInstance;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!allowSetConnectionString)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw ADP.OpenConnectionPropertySet("ConnectionString", innerConnection.State);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (Bid.TraceOn)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string str = (userConnectionOptions != null) ? userConnectionOptions.UsersConnectionStringForTrace() : "";&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bid.Trace("&amp;lt;prov.DbConnectionHelper.ConnectionString_Set|API&amp;gt; %d#, '%ls'\n", this.ObjectID, str);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;}&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;再连接&lt;/span&gt; &lt;span style="font-family: 宋体"&gt;到红色的&lt;/span&gt;GetConnectionPoolGroup&lt;span style="font-family: 宋体"&gt;方法，如下代码&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;internal DbConnectionPoolGroup GetConnectionPoolGroup(string connectionString, DbConnectionPoolGroupOptions poolOptions, ref DbConnectionOptions userConnectionOptions)&lt;/p&gt;&#xD;
&lt;p&gt;{&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DbConnectionPoolGroup group;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (ADP.IsEmpty(connectionString))&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return null;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!this._connectionPoolGroups.&lt;span style="color: red"&gt;TryGetValue&lt;/span&gt;(connectionString, out group) || (group.IsDisabled &amp;amp;&amp;amp; (group.PoolGroupOptions != null)))&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DbConnectionOptions options = &lt;span style="color: red"&gt;this.CreateConnectionOptions&lt;/span&gt;(connectionString, userConnectionOptions);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (options == null)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw ADP.InternalConnectionError(ADP.ConnectionError.ConnectionOptionsMissing);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string str = connectionString;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (userConnectionOptions == null)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; userConnectionOptions = options;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; str = options.Expand();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (str != connectionString)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return this.GetConnectionPoolGroup(str, null, ref userConnectionOptions);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((poolOptions == null) &amp;amp;&amp;amp; ADP.IsWindowsNT)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (group != null)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; poolOptions = group.PoolGroupOptions;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; poolOptions = this.CreateConnectionPoolGroupOptions(options);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DbConnectionPoolGroup group2 = new DbConnectionPoolGroup(options, poolOptions) {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ProviderInfo = this.CreateConnectionPoolGroupProviderInfo(options)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lock (this)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dictionary&amp;lt;string, DbConnectionPoolGroup&amp;gt; dictionary = this._connectionPoolGroups;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!dictionary.TryGetValue(str, out group))&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dictionary&amp;lt;string, DbConnectionPoolGroup&amp;gt; dictionary2 = new Dictionary&amp;lt;string, DbConnectionPoolGroup&amp;gt;(1 + dictionary.Count);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (KeyValuePair&amp;lt;string, DbConnectionPoolGroup&amp;gt; pair in dictionary)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dictionary2.Add(pair.Key, pair.Value);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dictionary2.Add(str, group2);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.PerformanceCounters.NumberOfActiveConnectionPoolGroups.Increment();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; group = group2;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this._connectionPoolGroups = dictionary2;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return group;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (userConnectionOptions == null)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; userConnectionOptions = group.ConnectionOptions;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return group;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;}&lt;/p&gt;&#xD;
&lt;p&gt;TryGetValue&lt;span style="font-family: 宋体"&gt;是判断是否存在连接字符串为&lt;/span&gt;connectionString&lt;span style="font-family: 宋体"&gt;的连接，存在返回到&lt;/span&gt;group&lt;span style="font-family: 宋体"&gt;，不存在就调用&lt;/span&gt;CreateConnectionOptions&lt;span style="font-family: 宋体"&gt;创建一个&lt;/span&gt;DbConnectionOptions&lt;span style="font-family: 宋体"&gt;，最后用&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;lock (this)&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dictionary&amp;lt;string, DbConnectionPoolGroup&amp;gt; dictionary = this._connectionPoolGroups;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!dictionary.TryGetValue(str, out group))&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dictionary&amp;lt;string, DbConnectionPoolGroup&amp;gt; dictionary2 = new Dictionary&amp;lt;string, DbConnectionPoolGroup&amp;gt;(1 + dictionary.Count);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (KeyValuePair&amp;lt;string, DbConnectionPoolGroup&amp;gt; pair in dictionary)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dictionary2.Add(pair.Key, pair.Value);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dictionary2.Add(str, group2);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.PerformanceCounters.NumberOfActiveConnectionPoolGroups.Increment();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; group = group2;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this._connectionPoolGroups = dictionary2;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return group;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;这段代码放到连接池中，在这里，可能显示的看到，&lt;/span&gt;ado.NET&lt;span style="font-family: 宋体"&gt;的连接池实质上是一个&lt;/span&gt;Dictionary&amp;lt;string, DbConnectionPoolGroup&amp;gt;&lt;span style="font-family: 宋体"&gt;泛型集合。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;所谓的连接池，就是一个与连接对象&lt;/span&gt;Connection&lt;span style="font-family: 宋体"&gt;相关的集合，这不只是简单的集合，而是有一定的机制在内部。我们做开发时，可能建立&lt;/span&gt;Connection&lt;span style="font-family: 宋体"&gt;连接对象，关闭连接对象，有时候还调用&lt;/span&gt;Dispose&lt;span style="font-family: 宋体"&gt;来释放连接。下次再用时，便重新实例化一个连接。但在池中的连接不随连接对象的&lt;/span&gt;Close&lt;span style="font-family: 宋体"&gt;或&lt;/span&gt;Dispose&lt;span style="font-family: 宋体"&gt;而释放。如果下次重新建立连接，连接字符串与前一次完全一模一样，则连接池就会把上次可用的连接对象赋给连接去用。如果两个连接字符串有一点不一样，即使在某一个地方多一个空格，连接池也不会以为是相同的连接，这点微软可能在内部只直接去比较两个字符串了，而不是比较连接数据库字符串的键值互相匹配。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;连接池的好处就是保留连接对象，防止下次重头再来实例化一个连接对象。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;（&lt;strong&gt;&lt;span style="color: red"&gt;说明：&lt;/span&gt;&lt;/strong&gt;可能找到结果后觉得非常简单，但怎么找到结果的，却是费了很大劲，几乎是&lt;/span&gt;5&lt;span style="font-family: 宋体"&gt;个小时，所以相把找到结果的过程简单说一下：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;一开始用&lt;/span&gt;Reflector&lt;span style="font-family: 宋体"&gt;发现&lt;/span&gt;SqlConnection&lt;span style="font-family: 宋体"&gt;中有一个&lt;/span&gt;PoolGroup&lt;span style="font-family: 宋体"&gt;的属性，于是就想在运行时候比较两个&lt;/span&gt;SqlConnection&lt;span style="font-family: 宋体"&gt;对象的这个属性，但由于这个属性是的访问修饰符是&lt;/span&gt;internal&lt;span style="font-family: 宋体"&gt;的，不能直接访问，只有用反射，代码（是经过优化的）如下：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;string&lt;/span&gt; constr1 = &lt;span style="color: #a31515"&gt;"Data Source=(local);Initial Catalog=AdventureWorks;Integrated Security=SSPI;"&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;string&lt;/span&gt; constr2 = &lt;span style="color: #a31515"&gt;"Data Source=(local);Initial Catalog=Pubs;Integrated Security=SSPI;"&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;string&lt;/span&gt; AssMark = &lt;span style="color: #a31515"&gt;"System.Data,Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;Assembly&lt;/span&gt; ass = &lt;span style="color: #2b91af"&gt;Assembly&lt;/span&gt;.Load(AssMark);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;Type&lt;/span&gt; SqlConType = &lt;span style="color: blue"&gt;null&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;foreach&lt;/span&gt; (&lt;span style="color: #2b91af"&gt;Type&lt;/span&gt; conType &lt;span style="color: blue"&gt;in&lt;/span&gt; ass.GetExportedTypes())&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(conType .ToString ());&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;if&lt;/span&gt; (&lt;span style="color: #a31515"&gt;"System.Data.SqlClient.SqlConnection"&lt;/span&gt; == conType.ToString())&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;SqlConType = conType;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;if&lt;/span&gt; (SqlConType != &lt;span style="color: blue"&gt;null&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;Type&lt;/span&gt;[] types1 = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;Type&lt;/span&gt;[0];&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;ConstructorInfo&lt;/span&gt; constructorInfoObj1 = SqlConType.GetConstructor(&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;BindingFlags&lt;/span&gt;.Instance | &lt;span style="color: #2b91af"&gt;BindingFlags&lt;/span&gt;.Public, &lt;span style="color: blue"&gt;null&lt;/span&gt;,&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;CallingConventions&lt;/span&gt;.HasThis, types1, &lt;span style="color: blue"&gt;null&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;SqlConnection&lt;/span&gt; con1 = (&lt;span style="color: #2b91af"&gt;SqlConnection&lt;/span&gt;)constructorInfoObj1.Invoke(&lt;span style="color: blue"&gt;null&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con1.ConnectionString = constr1; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;SqlConnection&lt;/span&gt; con2 = (&lt;span style="color: #2b91af"&gt;SqlConnection&lt;/span&gt;)constructorInfoObj1.Invoke(&lt;span style="color: blue"&gt;null&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con2.ConnectionString = constr2; &lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af"&gt;PropertyInfo&lt;/span&gt; PI = SqlConType.GetProperty(&lt;span style="color: #a31515"&gt;"PoolGroup"&lt;/span&gt;, &lt;span style="color: #2b91af"&gt;BindingFlags&lt;/span&gt;.Instance | &lt;span style="color: #2b91af"&gt;BindingFlags&lt;/span&gt;.NonPublic);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;object&lt;/span&gt;&amp;nbsp;poolGroup1 = PI.GetValue(con1, &lt;span style="color: blue"&gt;null&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;object&lt;/span&gt; poolGroup2 = PI.GetValue(con2, &lt;span style="color: blue"&gt;null&lt;/span&gt;);&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 新宋体; font-size: 9pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;然后在倒数第一行设置断点，为比较&lt;/span&gt;poolGroup1&lt;span style="font-family: 宋体"&gt;和&lt;/span&gt;poolGroup2&lt;span style="font-family: 宋体"&gt;的不同，结果发现，当连接字符串一样时，这两个对象的&lt;/span&gt;_objectID&lt;span style="font-family: 宋体"&gt;相同，字符串有一点不同就会不同，这点说明连接池中是用字符串本身比较的，而不是字符串中键值对进行比较。同还发现当&lt;/span&gt;con1&lt;span style="font-family: 宋体"&gt;和&lt;/span&gt;con2&lt;span style="font-family: 宋体"&gt;的&lt;/span&gt;ConnectionString&lt;span style="font-family: 宋体"&gt;不赋值时这两个对象都是&lt;/span&gt;null&lt;span style="font-family: 宋体"&gt;，由此说明关键是&lt;/span&gt;ConnectionString&lt;span style="font-family: 宋体"&gt;赋值上，所以才开始用&lt;/span&gt;Reflector&lt;span style="font-family: 宋体"&gt;查看这个属性的赋值方法，才有上面的代码。）&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/axzxs2001/aggbug/1673100.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/axzxs2001/archive/2010/02/25/1673100.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/axzxs2001/archive/2010/02/03/1663021.html</id><title type="text">有感微软中文论坛2010party</title><summary type="text">1月31号，是周末，很荣幸收到邀请参加微软中文技术论坛2010 party，这是我第一次参加论坛的party，因为2009年的那次我不在北京，没有能参加，所以这次就带了更多的好奇。虽然坐车出了点小插曲（比起冯瑞涛同志，我还算幸运，因为他在来的路上把钱包丢了），但还是如期到达微软大厦。我到时已经来了很多论坛的朋友，很多都不认识，因为都是线上论坛交流，但也不乏老朋友，比如MVP葛涵涛，陈广琛等。当到了...</summary><published>2010-02-03T13:59:00Z</published><updated>2010-02-03T13:59:00Z</updated><author><name>桂素伟</name><uri>http://www.cnblogs.com/axzxs2001/</uri></author><link rel="alternate" href="http://www.cnblogs.com/axzxs2001/archive/2010/02/03/1663021.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/axzxs2001/archive/2010/02/03/1663021.html"/></entry><entry><id>http://www.cnblogs.com/axzxs2001/archive/2010/01/18/1650818.html</id><title type="text">.net中的TDD</title><summary type="text">TDD(Test-Driven Development)测试驱动开发，就是以测试用例来带动开发，也就是先做测试用例，然后根据测试用例做开发。TDD的好外使是开发人员可以针对性的做开发，目标就是通过测试用例，当然，TDD更适合做逻辑的程序员，不适合更多的与UI开发相关的程序员。不管是TDD也好，传统的开发也好，肯定要先做设计，设计展开后如果采用普通方法做开发，那就是开始写代码，然后单元测试，集成测试...</summary><published>2010-01-18T08:19:00Z</published><updated>2010-01-18T08:19:00Z</updated><author><name>桂素伟</name><uri>http://www.cnblogs.com/axzxs2001/</uri></author><link rel="alternate" href="http://www.cnblogs.com/axzxs2001/archive/2010/01/18/1650818.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/axzxs2001/archive/2010/01/18/1650818.html"/></entry></feed>
