<?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/25269/rss</id><updated>2010-12-12T10:11:51Z</updated><author><name>John Yang</name><uri>http://www.cnblogs.com/yangqizhong/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/yangqizhong/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/25269/rss"/><entry><id>http://www.cnblogs.com/yangqizhong/archive/2010/11/29/1890997.html</id><title type="text">《Transact-sql权威指南》学习日记</title><summary type="text">《Transact-sql权威指南》学习笔记</summary><published>2010-11-29T09:00:00Z</published><updated>2010-11-29T09:00:00Z</updated><author><name>John Yang</name><uri>http://www.cnblogs.com/yangqizhong/</uri></author><link rel="alternate" href="http://www.cnblogs.com/yangqizhong/archive/2010/11/29/1890997.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/yangqizhong/archive/2010/11/29/1890997.html"/><content type="html">&lt;p&gt;1.可以用同一表中的列来修改某列的值，甚至可以用这一列来修改本身的值。例如：&lt;/p&gt;&#xD;
&lt;p&gt;update orders set amount = amount + (amount * .07)&lt;/p&gt;&#xD;
&lt;p&gt;还可以用另一个表中的值来修改本表的值。例如：&lt;/p&gt;&#xD;
&lt;p&gt;update o set amount = price from orders o join items i on o.itemnumber = i.itemnumber&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;2.Transact-sql提供了一些函数，它们可以简单地分成六组：&lt;/p&gt;&#xD;
&lt;p&gt;字符串函数、数值函数、日期函数、聚集函数、系统函数、元数据函数。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;3.一些常见的聚集函数：&lt;/p&gt;&#xD;
&lt;p&gt;COUNT()、SUM()、AVG()、MIN()、STDDEV()、VAR()、MAX()&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;4.什么是CROSS JOIN?&lt;/p&gt;&#xD;
&lt;p&gt;CROSS JOIN是笛卡尔积的产物。笛卡尔积的大小就是一张表的行数乘以另一张表的行数。根据定义，CROSS JOIN不需要&lt;/p&gt;&#xD;
&lt;p&gt;也不支持ON子句的使用，而其它链接需要。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/yangqizhong/aggbug/1890997.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/yangqizhong/archive/2010/11/29/1890997.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/yangqizhong/archive/2010/10/27/1862738.html</id><title type="text">安装与配置IIS</title><summary type="text">安装与配置IIS</summary><published>2010-10-27T08:24:00Z</published><updated>2010-10-27T08:24:00Z</updated><author><name>John Yang</name><uri>http://www.cnblogs.com/yangqizhong/</uri></author><link rel="alternate" href="http://www.cnblogs.com/yangqizhong/archive/2010/10/27/1862738.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/yangqizhong/archive/2010/10/27/1862738.html"/><content type="html">&lt;p&gt;&lt;strong&gt;一.什么是IIS？&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;开发ASP.NET应用程序之前，需要安装并配置IIS。&lt;/p&gt;&#xD;
&lt;p&gt;IIS是Internet Information Server的缩写，是微软公司主推的Web服务器，通过IIS，开发人员可以更方便地调试程序或发布网站。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;二.IIS服务器的一些配置和说明&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&amp;#183;TCP端口：可以更改为任意1个TCP端口号，前提是客户必须事先知道该端口号，否则无法连接到该Web服务器。当采用默认值&amp;#8220;80&amp;#8221;时，用户只需通过IP地址，即可实现对网站的访问；如果端口号不是&amp;#8220;80&amp;#8221;，则必须在浏览器中同时输入IP地址和端口号，才可以实现对网站的访问。&lt;/p&gt;&#xD;
&lt;p&gt;例如：要访问端口号为8080的WebTest网站，在浏览器中输入地址&lt;a href="http://192.168.0.1:8080/WebTest"&gt;http://192.168.0.1:8080/WebTest&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&amp;#183;IP地址：IP地址为Web服务器的IP地址。&lt;/p&gt;&#xD;
&lt;p&gt;&amp;#183;本地路径：&amp;#8220;主目录&amp;#8221;选项卡中的本地路径为所要浏览的网站文件夹。&lt;/p&gt;&#xD;
&lt;p&gt;&amp;#183;ASP.NET版本：&amp;#8220;ASP.NET&amp;#8221;选项卡中的ASP.NET版本为2.0.50727。&lt;/p&gt;&#xD;
&lt;p&gt;&amp;#183;默认文档：&amp;#8220;文档&amp;#8221;选项卡中的默认文档选项中，一定要有用户所要浏览网站的主页面地址。&lt;/p&gt;&#xD;
&lt;p&gt;三.&lt;font color="#ff0000"&gt;最新iis安装问题及解决方法&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://hi.baidu.com/senzhly/blog/item/25ed0387c595d12ec65cc38c.html"&gt;http://hi.baidu.com/senzhly/blog/item/25ed0387c595d12ec65cc38c.html&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/yangqizhong/aggbug/1862738.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/yangqizhong/archive/2010/10/27/1862738.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/yangqizhong/archive/2010/08/29/1777973.html</id><title type="text">设计原则</title><summary type="text">设计模式概要</summary><published>2010-08-29T03:04:00Z</published><updated>2010-08-29T03:04:00Z</updated><author><name>John Yang</name><uri>http://www.cnblogs.com/yangqizhong/</uri></author><link rel="alternate" href="http://www.cnblogs.com/yangqizhong/archive/2010/08/29/1777973.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/yangqizhong/archive/2010/08/29/1777973.html"/><content type="html">&lt;p&gt;1.找出应用中可能需要变化之处，把他们独立出来，不要和那些不不要变化的代码混在一起。&lt;/p&gt;&#xD;
&lt;p&gt;把会变化的部分取出并&amp;#8220;封装&amp;#8221;，好让其他部分不会受到影响。&lt;/p&gt;&#xD;
&lt;p&gt;2.针对接口编程，而不是针对实现编程。&lt;/p&gt;&#xD;
&lt;p&gt;一些具体的实现被放到分开的类中，此类专门提供某行为接口的实现。&lt;/p&gt;&#xD;
&lt;p&gt;3.多用组合，少用继承。&lt;/p&gt;&#xD;
&lt;p&gt;4.类应该对扩展开放，对修改关闭。&lt;/p&gt; &lt;img src="http://www.cnblogs.com/yangqizhong/aggbug/1777973.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/yangqizhong/archive/2010/08/29/1777973.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/yangqizhong/archive/2010/08/29/1809950.html</id><title type="text">一些常见的C#面试问题和答案</title><summary type="text">常见的C#面试问题和答案</summary><published>2010-08-29T03:03:00Z</published><updated>2010-08-29T03:03:00Z</updated><author><name>John Yang</name><uri>http://www.cnblogs.com/yangqizhong/</uri></author><link rel="alternate" href="http://www.cnblogs.com/yangqizhong/archive/2010/08/29/1809950.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/yangqizhong/archive/2010/08/29/1809950.html"/><content type="html">&lt;p&gt;1.什么是范型？&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://www.cnblogs.com/yjg8116/archive/2009/02/26/1398615.html"&gt;http://www.cnblogs.com/yjg8116/archive/2009/02/26/1398615.html&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;2.什么是反射？&lt;/p&gt;&lt;a href="http://www.cnblogs.com/zxsoft/archive/2007/09/17/895236.html"&gt;http://www.cnblogs.com/zxsoft/archive/2007/09/17/895236.html&lt;/a&gt; &#xD;
&lt;p&gt;3.进程、线程、AppDomain的概念及关系？&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://www.cnblogs.com/finejob/articles/971033.html"&gt;http://www.cnblogs.com/finejob/articles/971033.html&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;4.什么是SOAP？&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://blog.csdn.net/chengang9695183/archive/2008/05/26/2482660.aspx"&gt;http://blog.csdn.net/chengang9695183/archive/2008/05/26/2482660.aspx&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;5.C#中的Finalize和Dispose(bool disposing)和Dispose()&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://www.cnblogs.com/allnen/archive/2008/05/23/1206081.html"&gt;http://www.cnblogs.com/allnen/archive/2008/05/23/1206081.html&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;6.什么是委托？&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://hi.baidu.com/yichuanshan1986/blog/item/964890a37774d681471064de.html"&gt;http://hi.baidu.com/yichuanshan1986/blog/item/964890a37774d681471064de.html&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;7.什么是OOP?&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="#3366ff" size="2"&gt;OOP =Object Oriented Programming,[面向对象的程序设计]&lt;br /&gt;&lt;/font&gt;&lt;span style="font-size: 10pt; color: #3366ff"&gt;对象(Object)：包含一定的数据结构和状态的实体。&lt;br /&gt;操作(Operation)：作用于对象的行为，如访问和处理对象的状态。&lt;br /&gt;封装(Encapsulation)：定义对象和操作，只提供抽象的接口，并隐藏它们的具体实现。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 10pt; color: #3366ff"&gt;&lt;/span&gt;&amp;nbsp;8.什么是SOA?&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://www.cnblogs.com/wzyexf/archive/2006/04/29/388911.html"&gt;http://www.cnblogs.com/wzyexf/archive/2006/04/29/388911.html&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;9.遍历二叉树&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://www.cnblogs.com/xuanfeng/archive/2006/09/20/509897.html"&gt;http://www.cnblogs.com/xuanfeng/archive/2006/09/20/509897.html&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://www.newwhy.com/2010/0911/13998.html"&gt;http://www.newwhy.com/2010/0911/13998.html&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://blog.csdn.net/kofsky/archive/2008/09/05/2886453.aspx"&gt;http://blog.csdn.net/kofsky/archive/2008/09/05/2886453.aspx&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;求二叉树深度？&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://www.cnblogs.com/jiajinyi/archive/2010/01/26/1656525.html"&gt;http://www.cnblogs.com/jiajinyi/archive/2010/01/26/1656525.html&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 10pt; color: #3366ff"&gt;&lt;/span&gt;&amp;nbsp;10.ref和out的区别？分别是什么类型？&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://topic.csdn.net/t/20040404/23/2924904.html"&gt;http://topic.csdn.net/t/20040404/23/2924904.html&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;11.什么是Hashtable？Hashtable有什么优点和缺点？什么是空间和时间复杂度？&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://topic.csdn.net/t/20040201/14/2692475.html"&gt;http://topic.csdn.net/t/20040201/14/2692475.html&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;12.C#计算杨辉三角形&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://zhidao.baidu.com/question/150223483.html"&gt;http://zhidao.baidu.com/question/150223483.html&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;13.怎么优化数据库？&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://www.enet.com.cn/article/2008/0108/A20080108997121.shtml"&gt;http://www.enet.com.cn/article/2008/0108/A20080108997121.shtml&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;14.创建数据库需要注意什么？&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://www.7747.net/Article/201008/57898.html"&gt;http://www.7747.net/Article/201008/57898.html&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;15.什么是数据库的逻辑设计和数据库的物理设计？&lt;/p&gt;&lt;a href="http://www.ddvip.com/mc/db/1257.html"&gt;http://www.ddvip.com/mc/db/1257.html&lt;/a&gt; &#xD;
&lt;p&gt;16.什么是IIS？&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://baike.baidu.com/view/850.htm"&gt;http://baike.baidu.com/view/850.htm&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;17.ASP.NET页面生命周期概述？&lt;/p&gt;&lt;a href="http://msdn.microsoft.com/zh-cn/library/ms178472(VS.80).aspx"&gt;http://msdn.microsoft.com/zh-cn/library/ms178472(VS.80).aspx&lt;/a&gt; &#xD;
&lt;p&gt;18.XP SP3无法安装IIS 系统版本iis 5.1 iis 6&lt;/p&gt;&lt;a href="http://kb.cnblogs.com/a/1551734/"&gt;http://kb.cnblogs.com/a/1551734/&lt;/a&gt; &#xD;
&lt;p&gt;19.Transfer和Redirect重定向，谁的效率更高？&lt;/p&gt;&lt;a href="http://apps.hi.baidu.com/share/detail/5717145"&gt;http://apps.hi.baidu.com/share/detail/5717145&lt;/a&gt; &#xD;
&lt;p&gt;20.ASP.NET调用JavaScript的实现&lt;/p&gt;&lt;a href="http://www.net.cn/service/faq/softfaq/jspcx/200706/2219.html"&gt;http://www.net.cn/service/faq/softfaq/jspcx/200706/2219.html&lt;/a&gt; &#xD;
&lt;p&gt;21.什么是WCF？&lt;/p&gt;&lt;a href="http://www.cnblogs.com/xiaolinzi/archive/2008/04/30/1177743.html"&gt;http://www.cnblogs.com/xiaolinzi/archive/2008/04/30/1177743.html&lt;/a&gt; &#xD;
&lt;p&gt;22.Get和Post的区别？&lt;/p&gt;&lt;a href="http://blog.csdn.net/21aspnet/archive/2010/04/12/5476400.aspx"&gt;http://blog.csdn.net/21aspnet/archive/2010/04/12/5476400.aspx&lt;/a&gt; &#xD;
&lt;p&gt;23.俩种过滤字符串关键字的方法&lt;/p&gt;&lt;a href="http://www.cnblogs.com/random/archive/2007/05/09/739696.html"&gt;http://www.cnblogs.com/random/archive/2007/05/09/739696.html&lt;/a&gt; &#xD;
&lt;p&gt;24.判断输入的字符串是否是数值型&lt;/p&gt;&lt;a href="http://topic.csdn.net/t/20040819/16/3291037.html"&gt;http://topic.csdn.net/t/20040819/16/3291037.html&lt;/a&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/yangqizhong/aggbug/1809950.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/yangqizhong/archive/2010/08/29/1809950.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/yangqizhong/archive/2010/07/29/1787667.html</id><title type="text">排序算法</title><summary type="text">排序算法代码</summary><published>2010-07-29T02:43:00Z</published><updated>2010-07-29T02:43:00Z</updated><author><name>John Yang</name><uri>http://www.cnblogs.com/yangqizhong/</uri></author><link rel="alternate" href="http://www.cnblogs.com/yangqizhong/archive/2010/07/29/1787667.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/yangqizhong/archive/2010/07/29/1787667.html"/><content type="html">&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: 18pt"&gt;1.冒泡排序法&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&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('3e84da06-ff67-4511-9eeb-76c922131570')"&gt;&lt;img  id="code_img_opened_3e84da06-ff67-4511-9eeb-76c922131570" style="display: none" onclick="cnblogs_code_hide('3e84da06-ff67-4511-9eeb-76c922131570',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt; &#xD;
&lt;div  id="cnblogs_code_open_3e84da06-ff67-4511-9eeb-76c922131570"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&#xD;
&lt;br/ /&gt;&#xD;
Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;&#xD;
http://www.CodeHighlighter.com/&lt;br/ /&gt;&#xD;
&lt;br/ /&gt;&#xD;
--&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000ff"&gt;for&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;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;num.Length&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;i&lt;/span&gt;&lt;span style="color: #000000"&gt;++&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;2 &lt;/span&gt;&lt;span style="color: #000000"&gt;{&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; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;for&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;j&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;j&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;num.Length&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;i;&amp;nbsp;j&lt;/span&gt;&lt;span style="color: #000000"&gt;++&lt;/span&gt;&lt;span style="color: #000000"&gt;)&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; {&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;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(num[j]&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;num[j&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;])&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;{&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;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;temp&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;num[j];&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;num[j]&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;num[j&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;];&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;num[j&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;]&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;temp;&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;&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;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;12&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;strong style="font-size: 18pt"&gt;&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong style="font-size: 18pt"&gt;2.选择排序算法&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;font size="5"&gt;&lt;/font&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&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('8a7e42da-3fdb-4cfe-8a1e-1d8bf8a68f0f')"&gt;&lt;img  id="code_img_opened_8a7e42da-3fdb-4cfe-8a1e-1d8bf8a68f0f" style="display: none" onclick="cnblogs_code_hide('8a7e42da-3fdb-4cfe-8a1e-1d8bf8a68f0f',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt;&#xD;
&lt;div  id="cnblogs_code_open_8a7e42da-3fdb-4cfe-8a1e-1d8bf8a68f0f"&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: #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;private&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;int&lt;/span&gt;&lt;span style="color: #000000"&gt;[]&amp;nbsp;SelectionSort(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;[]&amp;nbsp;x)&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;[]&amp;nbsp;temp&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;x;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;big&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;index&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;;&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;&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;for&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;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;x.Length;&amp;nbsp;i&lt;/span&gt;&lt;span style="color: #000000"&gt;++&lt;/span&gt;&lt;span style="color: #000000"&gt;)&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;index&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;i;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;10&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;for&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;j&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;i&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;j&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;x.Length;&amp;nbsp;j&lt;/span&gt;&lt;span style="color: #000000"&gt;++&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;12&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(temp[j]&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;temp[index])&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;14&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;&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;15&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;index&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;j;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;16&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;&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;17&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;18&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;19&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;!=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;index)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;20&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;21&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;big&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;temp[index];&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;22&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;temp[index]&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;temp[i];&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;23&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;temp[i]&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;big;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;24&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;25&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;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;26&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;&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;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;27&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;temp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;28&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;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/yangqizhong/aggbug/1787667.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/yangqizhong/archive/2010/07/29/1787667.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/yangqizhong/archive/2010/07/01/1768848.html</id><title type="text">什么是SQL注入式攻击</title><summary type="text">所谓SQL注入式攻击，就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串，欺骗服务器执行恶意的SQL命令。在某些表单中，用户输入的内容直接用来构造（或者影响）动态SQL命令，或作为存储过程的输入参数，这类表单特别容易受到SQL注入式攻击。常见的SQL注入式攻击过程类如：</summary><published>2010-07-01T01:46:00Z</published><updated>2010-07-01T01:46:00Z</updated><author><name>John Yang</name><uri>http://www.cnblogs.com/yangqizhong/</uri></author><link rel="alternate" href="http://www.cnblogs.com/yangqizhong/archive/2010/07/01/1768848.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/yangqizhong/archive/2010/07/01/1768848.html"/><content type="html">&lt;p&gt;所谓SQL注入式攻击，就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串，欺骗服务器执行恶意的SQL命令。在某些表单中，用户输入的内容直接用来构造（或者影响）动态SQL命令，或作为存储过程的输入参数，这类表单特别容易受到SQL注入式攻击。常见的SQL注入式攻击过程类如：&lt;/p&gt;&#xD;
&lt;p&gt;&amp;#9332; 某个ASP.NET Web应用有一个登录页面，这个登录页面控制着用户是否有权访问应用，它要求用户输入一个名称和密码。&lt;/p&gt;&#xD;
&lt;p&gt;&amp;#9333; 登录页面中输入的内容将直接用来构造动态的SQL命令，或者直接用作存储过程的参数。下面是ASP.NET应用构造查询的一个例子：&lt;/p&gt;&#xD;
&lt;p&gt;System.Text.StringBuilder query = new System.Text.StringBuilder（&amp;#8221;select * from Users where login = &amp;#8217;&amp;#8221;）。Append（txtLogin.Text）。Append（&amp;#8221;&amp;#8217; AND password=&amp;#8217;&amp;#8221;）。Append（txtPassword.Text）。Append（&amp;#8221;&amp;#8217;&amp;#8221;）；&lt;/p&gt;&#xD;
&lt;p&gt;&amp;#9334; 攻击者在用户名字和密码输入框中输入&amp;#8221;&amp;#8217;或&amp;#8217;1&amp;#8217;=&amp;#8217;1&amp;#8243;之类的内容。&lt;/p&gt;&#xD;
&lt;p&gt;&amp;#9335; 用户输入的内容提交给服务器之后，服务器运行上面的ASP.NET代码构造出查询用户的SQL命令，但由于攻击者输入的内容非常特殊，所以最后得到的 SQL命令变成：select * from Users where login = &amp;#8217;&amp;#8217; or &amp;#8217;1&amp;#8217;=&amp;#8217;1&amp;#8217; AND password = &amp;#8217;&amp;#8217; or &amp;#8217;1&amp;#8217;=&amp;#8217;1&amp;#8217;.&lt;/p&gt;&#xD;
&lt;p&gt;&amp;#9336; 服务器执行查询或存储过程，将用户输入的身份信息和服务器中保存的身份信息进行对比。&lt;/p&gt;&#xD;
&lt;p&gt;&amp;#9337; 由于SQL命令实际上已被注入式攻击修改，已经不能真正验证用户身份，所以系统会错误地授权给攻击者。&lt;/p&gt;&#xD;
&lt;p&gt;如果攻击者知道应用会将表单中输入的内容直接用于验证身份的查询，他就会尝试输入某些特殊的SQL字符串篡改查询改变其原来的功能，欺骗系统授予访问权限。&lt;/p&gt;&#xD;
&lt;p&gt;系统环境不同，攻击者可能造成的损害也不同，这主要由应用访问数据库的安全权限决定。如果用户的帐户具有管理员或其他比较高级的权限，攻击者就可能对数据库的表执行各种他想要做的操作，包括添加、删除或更新数据，甚至可能直接删除表。&lt;/p&gt;&#xD;
&lt;p&gt;二、如何防范？&lt;/p&gt;&#xD;
&lt;p&gt;好在要防止ASP.NET应用被SQL注入式攻击闯入并不是一件特别困难的事情，只要在利用表单输入的内容构造SQL命令之前，把所有输入内容过滤一番就可以了。过滤输入内容可以按多种方式进行。&lt;/p&gt;&#xD;
&lt;p&gt;&amp;#9332; 对于动态构造SQL查询的场合，可以使用下面的技术：&lt;/p&gt;&#xD;
&lt;p&gt;第一：替换单引号，即把所有单独出现的单引号改成两个单引号，防止攻击者修改SQL命令的含义。再来看前面的例子，&amp;#8221;select * from Users where login = &amp;#8217;&amp;#8217;&amp;#8217; or &amp;#8217;&amp;#8217;1&amp;#8217;&amp;#8217;=&amp;#8217;&amp;#8217;1&amp;#8217; AND password = &amp;#8217;&amp;#8217;&amp;#8217; or &amp;#8217;&amp;#8217;1&amp;#8217;&amp;#8217;=&amp;#8217;&amp;#8217;1&amp;#8217;&amp;#8221;显然会得到与&amp;#8221;select * from Users where login = &amp;#8217;&amp;#8217; or &amp;#8217;1&amp;#8217;=&amp;#8217;1&amp;#8217; AND password = &amp;#8217;&amp;#8217; or &amp;#8217;1&amp;#8217;=&amp;#8217;1&amp;#8217;&amp;#8221;不同的结果。&lt;/p&gt;&#xD;
&lt;p&gt;第二：删除用户输入内容中的所有连字符，防止攻击者构造出类如&amp;#8221;select * from Users where login = &amp;#8217;mas&amp;#8217; &amp;#8212;&amp;#8212; AND password =&amp;#8217;&amp;#8217;&amp;#8221;之类的查询，因为这类查询的后半部分已经被注释掉，不再有效，攻击者只要知道一个合法的用户登录名称，根本不需要知道用户的密码就可以顺利获得访问权限。&lt;/p&gt;&#xD;
&lt;p&gt;第三：对于用来执行查询的数据库帐户，限制其权限。用不同的用户帐户执行查询、插入、更新、删除操作。由于隔离了不同帐户可执行的操作，因而也就防止了原本用于执行select命令的地方却被用于执行insert、update或delete命令。&lt;/p&gt;&#xD;
&lt;p&gt;&amp;#9333; 用存储过程来执行所有的查询。SQL参数的传递方式将防止攻击者利用单引号和连字符实施攻击。此外，它还使得数据库权限可以限制到只允许特定的存储过程执行，所有的用户输入必须遵从被调用的存储过程的安全上下文，这样就很难再发生注入式攻击了。&lt;/p&gt;&#xD;
&lt;p&gt;&amp;#9334; 限制表单或查询字符串输入的长度。如果用户的登录名字最多只有10个字符，那么不要认可表单中输入的10个以上的字符，这将大大增加攻击者在SQL命令中插入有害代码的难度。&lt;/p&gt;&#xD;
&lt;p&gt;&amp;#9335; 检查用户输入的合法性，确信输入的内容只包含合法的数据。数据检查应当在客户端和服务器端都执行&amp;#8212;&amp;#8212;之所以要执行服务器端验证，是为了弥补客户端验证机制脆弱的安全性。&lt;/p&gt;&#xD;
&lt;p&gt;在客户端，攻击者完全有可能获得网页的源代码，修改验证合法性的脚本（或者直接删除脚本），然后将非法内容通过修改后的表单提交给服务器。因此，要保证验证操作确实已经执行，唯一的办法就是在服务器端也执行验证。你可以使用许多内建的验证对象，例如 RegularExpressionValidator，它们能够自动生成验证用的客户端脚本，当然你也可以插入服务器端的方法调用。如果找不到现成的验证对象，你可以通过CustomValidator自己创建一个。&lt;/p&gt;&#xD;
&lt;p&gt;&amp;#9336; 将用户登录名称、密码等数据加密保存。加密用户输入的数据，然后再将它与数据库中保存的数据比较，这相当于对用户输入的数据进行了&amp;#8221;消毒&amp;#8221;处理，用户输入的数据不再对数据库有任何特殊的意义，从而也就防止了攻击者注入SQL命令。 System.Web.Security.FormsAuthentication类有一个 HashPasswordForStoringInConfigFile，非常适合于对输入数据进行消毒处理。&lt;/p&gt;&#xD;
&lt;p&gt;&amp;#9337; 检查提取数据的查询所返回的记录数量。如果程序只要求返回一个记录，但实际返回的记录却超过一行，那就当作出错处理。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/yangqizhong/aggbug/1768848.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/yangqizhong/archive/2010/07/01/1768848.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/yangqizhong/archive/2010/06/18/1759993.html</id><title type="text">什么是手册报关</title><summary type="text">手册报关,即加工贸易报关,又分为两种,进料加工与来料加工.因二者涉及的加工的原料须从国外提供或进口,而加工后的产品又必须如数出口,海关为了防止进口的原料或加工完成的产品没有如实出口至国外转而流内国内,以逃避相关税款.所以此二种贸易方式都备发了本用于登记相关进出口料件和成品记录的帐本手册,报关时都须向海关提供此本登记手册,即简称为手册报关.</summary><published>2010-06-18T02:49:00Z</published><updated>2010-06-18T02:49:00Z</updated><author><name>John Yang</name><uri>http://www.cnblogs.com/yangqizhong/</uri></author><link rel="alternate" href="http://www.cnblogs.com/yangqizhong/archive/2010/06/18/1759993.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/yangqizhong/archive/2010/06/18/1759993.html"/><content type="html">&lt;p&gt;手册报关,即加工贸易报关,又分为两种,进料加工与来料加工.因二者涉及的加工的原料须从国外提供或进口,而加工后的产品又必须如数出口,海关为了防止进口的原料或加工完成的产品没有如实出口至国外转而流内国内,以逃避相关税款.所以此二种贸易方式都备发了本用于登记相关进出口料件和成品记录的帐本手册,报关时都须向海关提供此本登记手册,即简称为手册报关.&lt;br /&gt;&lt;br /&gt;以下是两种加工贸易方式的定义:&lt;br /&gt;&lt;br /&gt;进料加工是指我国有关经营单位进口部分或全部原料、材料元器件、零部件、配套件和包装物料（简称进口料件），由国内生产者加工成品或半成品后再销往国外市场的一种贸易方式。 &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;来料加工是指由国外厂商提供一定的原材料、辅助材料、零部件、元器件、包装材料（简称料件）和必要的机器设备及生产技术，委托我方企业按国外厂商的要求进行加工、装配，成品由国外厂商负责销售的一种贸易方式。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/yangqizhong/aggbug/1759993.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/yangqizhong/archive/2010/06/18/1759993.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/yangqizhong/archive/2010/04/01/1702347.html</id><title type="text">策略模式</title><summary type="text">什么是策略模式?策略模式定义了算法家族，分别封装起来，让他们之间可以互相替换，此模式让算法的变化，不会影响到使用算法的客户。策略模式是一种定义一系列算法的方法，从概念上来看，所有这些算法完成的都是相同的工作，只是实现不同，它可以以相同的方法调用所有的的算法，减少了各种算法类与使用算法类之间的耦合。策略模式优化了简单的单元测试，因为每个算法都有自己的类，可以通过自己的接口单独测试。</summary><published>2010-04-01T07:33:00Z</published><updated>2010-04-01T07:33:00Z</updated><author><name>John Yang</name><uri>http://www.cnblogs.com/yangqizhong/</uri></author><link rel="alternate" href="http://www.cnblogs.com/yangqizhong/archive/2010/04/01/1702347.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/yangqizhong/archive/2010/04/01/1702347.html"/><content type="html">&lt;p&gt;&lt;strong&gt;什么是策略模式?&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;策略模式定义了算法家族，分别封装起来，让他们之间可以互相替换，此模式让算法的变化，不会影响到使用算法的客户。&lt;/p&gt;&#xD;
&lt;p&gt;策略模式是一种定义一系列算法的方法，从概念上来看，所有这些算法完成的都是相同的工作，只是实现不同，它可以以相同的方法调用所有的的算法，减少了各种算法类与使用算法类之间的耦合。&lt;/p&gt;&#xD;
&lt;p&gt;策略模式优化了简单的单元测试，因为每个算法都有自己的类，可以通过自己的接口单独测试。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;什么时候使用策略模式?&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;当不同的行为堆砌在一个类中时，就很难使用条件语句来选择合适的行为。将这些行为封装在一个个独立的Strategy类中，可以在使用这些行为的类中消除条件语句。&lt;/p&gt;&#xD;
&lt;p&gt;策略模式就是用来封装算法的，但在实践中，我们发现可以用它来封装几乎任何类型的规则，只要在分析的过程中听到需要在不同时间应用不同的业务规则，就可以考虑使用策略模式处理这种变化的可能性。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/yangqizhong/aggbug/1702347.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/yangqizhong/archive/2010/04/01/1702347.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/yangqizhong/archive/2010/03/31/1701325.html</id><title type="text">C#入门（一）</title><summary type="text">1.什么是.NET Framework?.NET Framework是Microsoft为开发应用程序而创建的一个富有革命性的新平台。.NET Framework可以创建Windows应用程序，Web应用程序，Web服务和其他各种类型的应用程序。.NET Framework支持不只C#一种语言，还支持C++、JScript、Visual Basic等一些旧的语言。.NET Framework主要包含一个非常大的代码库，可以在客户语言(如C#)中通过面向对象编程技术(OOP)来使用这些代码。.NET Framework还包含了公共语言运行库(Common Language Runtime, CLR)，它负责管理用.NET库开发的所有应用程序的执行。</summary><published>2010-03-31T08:11:00Z</published><updated>2010-03-31T08:11:00Z</updated><author><name>John Yang</name><uri>http://www.cnblogs.com/yangqizhong/</uri></author><link rel="alternate" href="http://www.cnblogs.com/yangqizhong/archive/2010/03/31/1701325.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/yangqizhong/archive/2010/03/31/1701325.html"/><content type="html">&lt;p&gt;&lt;strong&gt;1.什么是.NET Framework?&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;.NET Framework是Microsoft为开发应用程序而创建的一个富有革命性的新平台。&lt;/p&gt;&#xD;
&lt;p&gt;.NET Framework可以创建Windows应用程序，Web应用程序，Web服务和其他各种类型的应用程序。&lt;/p&gt;&#xD;
&lt;p&gt;.NET Framework支持不只C#一种语言，还支持C++、JScript、Visual Basic等一些旧的语言。&lt;/p&gt;&#xD;
&lt;p&gt;.NET Framework主要包含一个非常大的代码库，可以在客户语言(如C#)中通过面向对象编程技术(OOP)来使用这些代码。&lt;/p&gt;&#xD;
&lt;p&gt;.NET Framework还包含了公共语言运行库(Common Language Runtime, CLR)，它负责管理用.NET库开发的所有应用程序的执行。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;2.如何用.NET Framework编写应用程序?&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;为了执行C#代码，必须把它们转换为目标操作系统能够理解的语言，即本机代码，这种转换称为编译代码，由编译器执行。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;3.MSIL和JIT&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;在编译使用.NET Framework库的代码时，不是立即创建操作系统特定的本机代码，而是把代码便以为Microsoft的中间语言(Microsoft Intermediate Language, MSIL)代码，这些代码不专用于任何一种操作系统，也不专用于C#。当使用VS开发C#应用程序时，编译过程就由VS来完成。&lt;/p&gt;&#xD;
&lt;p&gt;显然，要执行应用程序，必须完成更多的工作，这是Just-In-Time(JIT)编译器的任务，它把MSIL编译为专用于OS和目标机器结构的本机代码。这样OS才能执行应用程序。JIT编译器使用MSIL代码，而MSIL代码是独立于机器、操作系统和CPU的。我们总能找到一个适合的编译器所创建的本机代码。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;4.什么是程序集?&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;在编译应用程序时，所创建的MSIL代码存储在一个程序集中，程序集包括可执行的应用程序文件(这些文件可以直接在Windows上运行，不需要其他程序，其扩展名是.exe)和其他应用程序使用的库(其扩展名是.dll)。&lt;/p&gt;&#xD;
&lt;p&gt;除了包含MSIL外，程序集还包含元信息(即程序集中包含的数据的信息，也称为元数据)和可选的资源(MSIL使用的其他数据，例如声音文件和图片)。&lt;/p&gt;&#xD;
&lt;p&gt;部署应用程序时，只需要把文件复制到远程计算机上的目录下即可。当然，不必把运行应用程序所需要的所有信息都安装到一个地方。通常把一些可重用的代码放在所有应用程序都可以访问的地方。在.NET Framework中，这个地方是全局程序集高速缓存(Global Assembly Cache , GAC)。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;5.托管代码&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;把代码编译为MSIL，再用JIT编译器把它编译为本机代码后，CLR管理着应用程序，其方式是管理内存、处理安全性，以及允许跨语言调试等等。相反，不在CLR控制之下运行的应用程序时非托管的。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;6.垃圾回收&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;托管代码最重要的一个功能是垃圾回收(Garbage Collection)。这种.NET方法可确保应用程序不再使用某些内存时，这些内存就会被完全释放。.NET垃圾回收会频繁的检查计算机内存，从中删除不再需要的内容。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;7.命名空间&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;命名空间是.NET中提供应用程序代码容器的方式，这样就可以唯一地标识代码及其内容。命名空间也作用于.NET Framework中给项分类的一种方式。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;8."&amp;lt;&amp;lt;"和"&amp;gt;&amp;gt;"&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;左移一位就是剩2，右移一位就是除2。(左移俩位就是剩4)&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/yangqizhong/aggbug/1701325.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/yangqizhong/archive/2010/03/31/1701325.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/yangqizhong/archive/2010/01/22/1653935.html</id><title type="text">什么是PMP认证</title><summary type="text">PMP认证是由美国项目管理学会(PMI)在全球范围内推出的针对项目经理的资格认证体系，通过该认证的项目经理叫"PMP"，即Project Management Professional（项目管理专业人员）。</summary><published>2010-01-22T03:07:00Z</published><updated>2010-01-22T03:07:00Z</updated><author><name>John Yang</name><uri>http://www.cnblogs.com/yangqizhong/</uri></author><link rel="alternate" href="http://www.cnblogs.com/yangqizhong/archive/2010/01/22/1653935.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/yangqizhong/archive/2010/01/22/1653935.html"/></entry></feed>
