<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_Eason Wu</title><subtitle type="text">一个徘徊在技术路上的二逼青年</subtitle><id>http://feed.cnblogs.com/blog/u/26528/rss</id><updated>2012-05-22T00:57:52Z</updated><author><name>Eason Wu</name><uri>http://www.cnblogs.com/EasonWu/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/EasonWu/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/26528/rss"/><entry><id>http://www.cnblogs.com/EasonWu/archive/2012/05/14/2457034.html</id><title type="text">小一面试记(一)</title><summary type="text">写下此文章有两个目的，一就是记录下接下来半年内的面试经历；二是在此基础上找出自己的不足，有针对性的提升。时间：2012.4.19 地点：一个小房间 应聘职位：技术支持工程师 面后感：一团浆糊哈哈，为什么在一个小房间，因为是电话面试，你懂的~~~跳槽这种事情大家谁都不想的，如果现东家能开给你足够多滴玛尼，有职位提升的空间，有很好滴福利，我想我会忠诚滴跟你一辈子，如果非要加个期限，我希望是一万年^-^ 然而，这只是一种理想状态，当有外在内在因素需要跳的时候，也不必惊讶，做自己喜欢的事情，有些公司只适合你职业发展的某些阶段。闲话少叙，话说大公司就是不一样，面试官上来就感觉很专业，本来我强大的气...</summary><published>2012-05-14T06:22:00Z</published><updated>2012-05-14T06:22:00Z</updated><author><name>Eason Wu</name><uri>http://www.cnblogs.com/EasonWu/</uri></author><link rel="alternate" href="http://www.cnblogs.com/EasonWu/archive/2012/05/14/2457034.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/EasonWu/archive/2012/05/14/2457034.html"/><content type="html">&lt;p&gt;写下此文章有两个目的，一就是记录下接下来半年内的面试经历；二是在此基础上找出自己的不足，有针对性的提升。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;时间：2012.4.19 &amp;nbsp; 地点：一个小房间 &amp;nbsp; 应聘职位：技术支持工程师 &amp;nbsp; 面后感：一团浆糊&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;哈哈，为什么在一个小房间，因为是电话面试，你懂的~~~&lt;/p&gt;&lt;p&gt;跳槽这种事情大家谁都不想的，如果现东家能开给你足够多滴玛尼，有职位提升的空间，有很好滴福利，我想我会忠诚滴跟你一辈子，如果非要加个期限，我希望是一万年^-^ &amp;nbsp;然而，这只是一种理想状态，当有外在内在因素需要跳的时候，也不必惊讶，做自己喜欢的事情，有些公司只适合你职业发展的某些阶段。&lt;/p&gt;&lt;p&gt;闲话少叙，话说大公司就是不一样，面试官上来就感觉很专业，本来我强大的气场瞬间消失了，悲剧啊！！！ 我还在睡梦中的时候迷迷糊糊滴听到手机在响，赶紧跑到小房间接起来，人虽然醒来了，但心思还在梦里 （经验1：以后电话面试这种约不能约在午休时间，切记）。&lt;/p&gt;&lt;p&gt;其实之前促使我接受这个电话面试的最大动因是我想了解这职位是做什么的，嘿嘿，有点儿小变态！！！当然还有想了解一下某软到底需要招什么样的人。不管怎么说，我想这个尝试是值得的，更加明确了我自己的水平与不足，绝对是激励你前进的猛药。&lt;/p&gt;&lt;p&gt;这位仁兄的声音听起来很专业，首先让小一作个自我介绍。你懂的，常规套路，这个倒不是问题，轻松应对，虽然也确实没有什么光鲜的履历，但吹牛这件事想必大家都会（我的感觉是他们好像也不care你之前做了什么）。接下来就是技术问题了，上来问了个.NET相关的问题：&lt;/p&gt;&lt;p&gt;Q： 能说一说GC是怎么一回事，如果可能说一说其实现原理？&amp;nbsp;&lt;/p&gt;&lt;p&gt;中间又说到了C，他直接问我C里边的关于heap和stack的一个问题，&lt;/p&gt;&lt;p&gt;Q：能说一说heap和stack的区别吗？&lt;/p&gt;&lt;p&gt;说实话，这些东东我确实是一知半解，没有特别深地去研究，结果可想而知。 这位大侠还算nice，又问了几个问题，有关于ASP.NET, http, Process, Thread相关的，下面先把这些问题列出来，回头给出答案。&lt;/p&gt;&lt;p&gt;Q：能说一说ASPNET中有一个叫w3wp的进程是作什么用的？&lt;/p&gt;&lt;p&gt;Q：能描述一下http头中都包含哪些信息吗？&lt;/p&gt;&lt;p&gt;Q：请谈一下进程和线程的区别。&lt;/p&gt;&lt;p&gt;半个小时不到，面试结束，他很nice滴问我还有什么问题要向他问的，其实这个时候已经知道此面肯定Over，但还厚脸皮滴问了我最想问的问题：&lt;/p&gt;&lt;p&gt;小一：你们这职位到底是做什么事情的？&lt;/p&gt;&lt;p&gt;面试官：主要是帮客户解决他们在开发中遇到的问题，注意是关于开发的问题，如程序不知道怎么优化，技术难点等等一切关于技术方面的问题。当然我们是Comercial的服务，不是针对所以用户。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;小一听到这里后更加坚定的觉得以现在的水平确实无法胜任这职位。&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;总结：2012年的第一面，没有做充足的准备，每一次面试都是一次展示，绝对要好充足的准备，常规的面试问题还是要熟悉一下。当然，日常对知识点深入地研究才是正确的路，一知半解和浅尝辄止是不可取的。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/EasonWu/aggbug/2457034.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/EasonWu/archive/2012/05/14/2457034.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/EasonWu/archive/2011/06/30/2094413.html</id><title type="text">HTC G12查看是S-ON或S-OFF</title><summary type="text">问：HTC Desire S（G12）手机如何查看是S-ON还是S-OFF？答：很简单，步骤如下——1）开机状态下，点击“菜单”——“设置”——“电源”——“快速启动”（关闭此功能，以使用某些电子市场应用程序），将“快速启动”的功能关闭；2）按电源键关机；3）同时按住“电源键”和“音量调节键（减低音量部分）”，几秒钟后即可看到相关信息，如果出现的提示信息如下——SAGA PVT SHIP S-OFF RLHBOOT-0.98.0000eMMC-bootMar 10 2011,14:58:38HBOOT&lt;VOL UP&gt; to previous item&lt;VOL DOWN&gt;</summary><published>2011-06-30T05:53:00Z</published><updated>2011-06-30T05:53:00Z</updated><author><name>Eason Wu</name><uri>http://www.cnblogs.com/EasonWu/</uri></author><link rel="alternate" href="http://www.cnblogs.com/EasonWu/archive/2011/06/30/2094413.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/EasonWu/archive/2011/06/30/2094413.html"/><content type="html">&lt;p&gt;&lt;strong&gt;问：&lt;/strong&gt;HTC Desire S（G12）手机如何查看是S-ON还是S-OFF？&lt;/p&gt;&lt;p&gt;&lt;strong&gt;答：&lt;/strong&gt;很简单，步骤如下&amp;mdash;&amp;mdash;&lt;/p&gt;&lt;p&gt;1）开机状态下，点击&amp;ldquo;菜单&amp;rdquo;&amp;mdash;&amp;mdash;&amp;ldquo;设置&amp;rdquo;&amp;mdash;&amp;mdash;&amp;ldquo;电源&amp;rdquo;&amp;mdash;&amp;mdash;&amp;ldquo;快速启动&amp;rdquo;（关闭此功能，以使用某些电子市场应用程序），将&amp;ldquo;快速启动&amp;rdquo;的功能关闭；&lt;/p&gt;&lt;p&gt;2）按电源键关机；&lt;/p&gt;&lt;p&gt;3）同时按住&amp;ldquo;电源键&amp;rdquo;和&amp;ldquo;音量调节键（减低音量部分）&amp;rdquo;，几秒钟后即可看到相关信息，如果出现的提示信息如下&amp;mdash;&amp;mdash;&lt;/p&gt;&lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt;SAGA PVT SHIP &lt;strong&gt;&lt;span style="color: #ff0000;"&gt;S-OFF&lt;/span&gt;&lt;/strong&gt; RL&lt;br /&gt;HBOOT-0.98.0000&lt;br /&gt;eMMC-boot&lt;br /&gt;Mar 10 2011,14:58:38&lt;br /&gt;&lt;br /&gt;HBOOT&lt;br /&gt;&lt;br /&gt;&amp;lt;VOL UP&amp;gt; to previous item&lt;br /&gt;&amp;lt;VOL DOWN&amp;gt; to next item&lt;br /&gt;&amp;lt;POWER&amp;gt; to select item&lt;br /&gt;&lt;br /&gt;FASTBOOT&lt;br /&gt;RECOVERY&lt;br /&gt;FACTORY RESET&lt;br /&gt;SIMLOCK&lt;br /&gt;IMAGE CRC &lt;/blockquote&gt;&lt;p&gt;则说明你的机子是S-OFF的，具体可参见提示信息第一行。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/EasonWu/aggbug/2094413.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/EasonWu/archive/2011/06/30/2094413.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/EasonWu/archive/2011/03/11/1980512.html</id><title type="text">快速清除Word文档多余空行</title><summary type="text">快速清除Word文档多余空行在工作中，尤其是对那些搞文字工作的人来说，经常会碰到由别的地方或文件中向Word文档中导入或粘贴文本，然后用Word编辑的情况。如果粘贴过 来的文本中含有多余的空行同时文档又很大，那么一个个用手工的方式删除空行的办法实在是太累人了。而且打印时又太浪费墨和打印纸，有没有较便捷的方式呢？其实想一下空行的特点，也就是多个“段落标记”连在一起，那么我们用Word的替换功能就可实现删除文章中的空行。打开“编辑”菜单中的“替换”对话框，把光标定位在“查找内容”输入框中，按下“高级”按钮，选择“特殊字符”中的“段落标记”两次，在输入框中会 显示为“＾p＾p”，在“替换为”输入框中</summary><published>2011-03-11T02:04:00Z</published><updated>2011-03-11T02:04:00Z</updated><author><name>Eason Wu</name><uri>http://www.cnblogs.com/EasonWu/</uri></author><link rel="alternate" href="http://www.cnblogs.com/EasonWu/archive/2011/03/11/1980512.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/EasonWu/archive/2011/03/11/1980512.html"/><content type="html">&lt;div class="entry"&gt;&lt;p&gt;&lt;strong&gt;&lt;strong&gt;快速清除Word文档多余空行&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;在工作中，尤其是对那些搞文字工作的人来说，经常会碰到由别的地方或文件中向Word文档中导入或粘贴文本，然后用Word编辑的情况。如果粘贴过 来的文本中含有多余的空行同时文档又很大，那么一个个用手工的方式删除空行的办法实在是太累人了。而且打印时又太浪费墨和打印纸，有没有较便捷的方式呢？&lt;/p&gt;&lt;p&gt;其实想一下空行的特点，也就是多个&amp;ldquo;段落标记&amp;rdquo;连在一起，那么我们用Word的替换功能就可实现删除文章中的空行。&lt;/p&gt;&lt;p&gt;打开&amp;ldquo;编辑&amp;rdquo;菜单中的&amp;ldquo;替换&amp;rdquo;对话框，把光标定位在&amp;ldquo;查找内容&amp;rdquo;输入框中，按下&amp;ldquo;高级&amp;rdquo;按钮，选择&amp;ldquo;特殊字符&amp;rdquo;中的&amp;ldquo;段落标记&amp;rdquo;两次，在输入框中会 显示为&amp;ldquo;＾p＾p&amp;rdquo;，在&amp;ldquo;替换为&amp;rdquo;输入框中用上面的方法插入一个&amp;ldquo;段落标记&amp;rdquo;，即&amp;ldquo;＾p&amp;rdquo;，然后按下&amp;ldquo;全部替换&amp;rdquo;按键，可删除单行的空行，对于多行空行， 可进行重复替换，直到删除全部的空行为止。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;巧妙删除&amp;ldquo;文本文档&amp;rdquo;多余空行&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;经常从网上粘贴或下载一篇文章，需要打印时，发现有大量多余的空行占据了许多篇幅，需要删除。这些空行要么不包含任何字符，要么包含了许多空格、制表符 (Tab)。如果文章比较长，那么手工删除空行就成为一件颇费鼠标和精力的事。难道就没有别的办法？答案是：有！&lt;br /&gt; 我们可以借助文本编辑器软件EditPlus、UltraEdit实现。EditPlus、UltraEdit是常见的共享软件，几乎所有软件下载网站都 提供下载。由于EditPlus的操作更容易上手，但UltraEdit更为常用，所以本文先介绍在EditPlus的操作，再介绍 UltraEdit。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;一、在EditPlus中删除空行&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;启动EditPlus，打开待处理的文件。需要注意，必须是纯文本文件，如果是Word文档，需要先粘贴到纯文本文件中。然后，步骤如下：&lt;br /&gt; 1.选择Search菜单的Replace命令，出现如图所示的文本替换对话框。选中Regular expression(正则表达式)复选框，表明我们要在查找、替换中使用正则表达式。然后，选中Replace all range中的Current file，表明对当前文件操作(技巧提示：可以同时打开多个文件进行操作，在这里选中&amp;ldquo;All open files&amp;rdquo;)。&lt;/p&gt;&lt;p&gt;^[ \t]*\n&lt;/p&gt;&lt;p&gt;2.单击Find what组合框右侧的按钮 ，出现下拉菜单，如下图所示。菜单命令中，本文用得着的命令依次是：Tab Character(制表符)、New Line(新行/换行符)、Character in Range(指定范围内的字符)、Beginning of Line(行开始)、0 or More Matches(0个或多个符合条件的项)。&lt;br /&gt; 下面的操作添加正则表达式，该表达式代表待查找的空行。(技巧提示：空行仅包括空格符、制表符、回车符，且必须以这三个符号之一作为一行的开头，并且以回车符结尾，查找空行的关键是构造代表空行的正则表达式)。&lt;br /&gt; (1)选择Beginning of Line，则Find what组合框中出现字符&amp;ldquo;^&amp;rdquo;，表示待查找的字符串必须出现在文本中一行的行首，才符合条件。&lt;br /&gt; (2)选择Character in Range，&amp;ldquo;^&amp;rdquo;后增加一对括号&amp;ldquo;[]&amp;rdquo;，当前插入点在括号中。括号在正则表达式中表示，文本中的字符匹配括号中任意一个字符即符合查找条件。&lt;br /&gt; (3)按一下空格键，添加空格符。空格符是空行的一个组成成分。&lt;br /&gt; (4)选择Tab Character，添加代表制表符的&amp;ldquo; &amp;rdquo;。&lt;br /&gt; (5)移动光标，将当前插入点移到&amp;ldquo;]&amp;rdquo;之后，然后选择0 or More Matches，添加了星号字符&amp;ldquo;*&amp;rdquo;。星号表示，其前面的括号&amp;ldquo;[]&amp;rdquo;内的空格符或制表符，在一行中出现0个或多个。&lt;br /&gt; (6)选择New Line，插入&amp;ldquo; &amp;rdquo;，表示回车符。&lt;br /&gt; 至此，正则表达式构造成功。&lt;br /&gt; 3.Replace with组合框保持空，表示删除查找到的内容。单击Replace按钮逐个行删除空行，或单击Replace All按钮删除全部空行(注意：EditPlus和UltraEdit均存在Replace All不能一次性完全删除空行的问题，可能是程序BUG，需要多按几次按钮)。&lt;br /&gt; 对于熟悉EditPlus的朋友，可以直接在Find what中输入正则表达式^[ ]* ，注意逗号前有空格符。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;二、在UltraEdit中删除空行&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;使用UltraEdit的原理一样，但是UltraEdit没有提供菜单方式，所以需要手工输入正则表达式，而且UltraEdit的正则表达式符号与EditPlus不同。&lt;br /&gt; 用UltraEdit打开文件后，选择Search菜单的Replace命令。在Replace对话框中，选中Regular Expression复选框，并在Find what中输入：%[ ^t]++^p，注意^t之前有空格。该表达式字符含义与EditPlus的相对应。然后，单击Start或Replace All按钮，进行替换删除空行。&lt;br /&gt; 在WORD文档中可用查找/替换的方法来消除空行&lt;br /&gt; 查找^p^p,替换成^P。全部替换，就OK了。&lt;/p&gt;&lt;p&gt;WORD文本文档里的空格删除&lt;br /&gt; 选择&amp;ldquo;查找&amp;rdquo;，出现&amp;ldquo;查找&amp;rdquo;对话框，在&amp;ldquo;查找&amp;rdquo;内容中输入一个空格，把下方的&amp;ldquo;突出显示所在该范围找到的项目&amp;rdquo;选项选上，单击&amp;ldquo;查找全部&amp;rdquo;按钮，即可将文中的全部空格选中，然后按下键盘上的Delete键即可将全部空格删除了。&lt;/p&gt;&lt;p&gt;还有就是用EmEditor也可以，工具里有删除空格。还有很多专门的软件，找找就有了。&lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/EasonWu/aggbug/1980512.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/EasonWu/archive/2011/03/11/1980512.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/EasonWu/archive/2010/12/07/1898939.html</id><title type="text">Create context menu for Ultraedit in Windows 7</title><summary type="text">Recently, I upgraded my OS to Windows 7, but I found that I could not add Ultraedit to context menu list (i.e. right click context menu) via UltraEdit's own configuration set.Good news is that I found a way to deal with this issue on the internect, the detail is as following:Copy following code to a</summary><published>2010-12-07T05:14:00Z</published><updated>2010-12-07T05:14:00Z</updated><author><name>Eason Wu</name><uri>http://www.cnblogs.com/EasonWu/</uri></author><link rel="alternate" href="http://www.cnblogs.com/EasonWu/archive/2010/12/07/1898939.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/EasonWu/archive/2010/12/07/1898939.html"/><content type="html">&lt;p&gt;Recently, I upgraded my OS to Windows 7, but I found that I could not add Ultraedit to context menu list (i.e. right click context menu) via UltraEdit's own configuration set.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Good news is that I found a way to deal with this issue on the internect, the detail is as following:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Copy following code to a file and save it with .reg as suffix (e.g. uecontext.reg).&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&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: #000000;"&gt;Windows Registry Editor Version &lt;/span&gt;&lt;span style="color: #800000;"&gt;5.00&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;br /&gt;[HKEY_CLASSES_ROOT&lt;/span&gt;&lt;span style="color: #000000;"&gt;\*\&lt;/span&gt;&lt;span style="color: #000000;"&gt;shell]&lt;br /&gt;[HKEY_CLASSES_ROOT&lt;/span&gt;&lt;span style="color: #000000;"&gt;\*\&lt;/span&gt;&lt;span style="color: #000000;"&gt;shell&lt;/span&gt;&lt;span style="color: #000000;"&gt;\&lt;/span&gt;&lt;span style="color: #000000;"&gt;UltraEdit]&lt;br /&gt;@&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;"&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;UltraEdit&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;[HKEY_CLASSES_ROOT&lt;/span&gt;&lt;span style="color: #000000;"&gt;\*\&lt;/span&gt;&lt;span style="color: #000000;"&gt;shell&lt;/span&gt;&lt;span style="color: #000000;"&gt;\&lt;/span&gt;&lt;span style="color: #000000;"&gt;UltraEdit&lt;/span&gt;&lt;span style="color: #000000;"&gt;\&lt;/span&gt;&lt;span style="color: #000000;"&gt;Command]&lt;br /&gt;@&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;"&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;D:\\Green\\UltraEdit\\Uedit32.exe %1&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;Hit the file to add the registry configuration to your system.&lt;/li&gt;&lt;li&gt;Bingo!&lt;br /&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/EasonWu/201944/r_UEContext.png" alt="Ultraedit" width="491" height="352" /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: You need change the last line as your own Ultraedit start directory.&lt;/p&gt;&lt;img src="http://www.cnblogs.com/EasonWu/aggbug/1898939.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/EasonWu/archive/2010/12/07/1898939.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/EasonWu/archive/2010/11/17/1880008.html</id><title type="text">ToString()和Convert.ToString()的用法区别</title><summary type="text">一、一般用法说明在C#中所有继承自object的类都有tostring()方法，在没有特别声明的情况下，C#中的类都是默认继承自object，所以都有tostring()方法;而Convert.ToString(param)(其中param参数的数据类型可以是各基本数据类型，也可以是bool或object类对像；二、ToString()和Convert.ToString()的区别一般情况下，这两种方法都可以通用，但是当返回的数据类型中有可能出现null值时如果调用tostring方法了，就会返回NullReferenceException，除非你要捕捉此异常再做处理，否则在这种情况下就应考虑使</summary><published>2010-11-17T09:24:00Z</published><updated>2010-11-17T09:24:00Z</updated><author><name>Eason Wu</name><uri>http://www.cnblogs.com/EasonWu/</uri></author><link rel="alternate" href="http://www.cnblogs.com/EasonWu/archive/2010/11/17/1880008.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/EasonWu/archive/2010/11/17/1880008.html"/><content type="html">&lt;p&gt;&lt;strong&gt;一、一般用法说明&lt;/strong&gt;&lt;br /&gt;在C#中所有继承自object的类都有tostring()方法，在没有特别声明的情况下，C#中的类都是默认继承自object，所以都有tostring()方法;而Convert.ToString(param)(其中param参数的数据类型可以是各基本数据类型，也可以是bool或object类对像；&lt;/p&gt;&lt;p&gt;&lt;strong&gt;二、ToString()和Convert.ToString()的区别&lt;/strong&gt;&lt;br /&gt;一般情况下，这两种方法都可以通用，但是当返回的数据类型中有可能出现null值时如果调用tostring方法了，就会返回NullReferenceException，除非你要捕捉此异常再做处理，否则在这种情况下就应考虑使用Convert.ToString()方法了，因为Convert.ToString(null)不会抛出异常而是返回空字符串.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;strong&gt;三、应用举例&lt;/strong&gt;&lt;br /&gt;我在这里举一个常见的例子，就是平常的网页参数传递，比如在网页登录验证中从QueryString或当前会话Session中获得对应参数值,我们有下面两种方法：&lt;br /&gt;&amp;nbsp;1.使用Convert.ToString(param)方法：&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string strUserName = Convert.ToString(Session["UserName"]);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string strUserPwd = Convert.ToString(Session["UserPwd"]);&lt;br /&gt;&amp;nbsp;2.直接调用ToString()方法：&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string strUserName = Session["UserName"].ToString;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string strUserPwd = Session["UserPwd"].ToString;&lt;br /&gt;当Session["UserName"]或Session["UserPwd"]返回null值时，使用方法1返回的值是空字符串,而直接调用ToString()方法则会抛出NullReferenceException，大家可以根据自己的实际需要来决定使用哪一个方法更合适。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;四、补充说明&lt;br /&gt;&lt;/strong&gt;一般从 object 到 string 有四种方式(比如有object obj)，包括显式转换和as关键词的使用：obj.ToString()、Convert.ToString()、(string)obj、obj as string。他们都能将 object 对象转换成 string 对象。这里&lt;a href="http://www.ken-wu.cn/" target="_blank"&gt;十万个为什么&lt;/a&gt;再接前文重点讲讲他们的异同以及在实际编程中如何选用。 &lt;br /&gt;前两个方法通常是由别的对象得到 string 对象，它们间的区别如前文所述主要表现在要转换的对象为 null 时，如果 obj 为 null，调用 obj.ToString 方法会导致 NullReferenceException 异常，调用 Convert.ToString 不会抛出异常而返回一个空字符串。&lt;/p&gt;&lt;p&gt;&lt;br /&gt;用强制转换 (string)obj 要求 obj 的运行时类型必须是 string。如果不是，就会抛出异常。 &lt;br /&gt;用 as 方法则会相对平稳，当 obj 的运行时类型不是 string 时会返回 null 而不抛出异常。&lt;/p&gt;&lt;p&gt;&lt;br /&gt;所以在通常在我们需要得到某个对象的 string 表达形式时，我们应该使用 ToString 和 Convert.ToString，这时候你就得根据情形选一个，假如你能保证你的对象不为 null，则两个差不多。如果有可能为 null，你就应该用 Convert.ToString，如果你希望它为 null 的时候抛出异常，那么当然可以选择 ToString。&lt;/p&gt;&lt;p&gt;&lt;br /&gt;最后再补充一下：&lt;br /&gt;这里是说 object 到 string，如果在其它类型上（比如继承自object的其他类）调用第一种 ToString()，得到的不一定是实际的内容，可能是对该类的描述，这主要取决于该类如何实现 ToString() 方法了。&lt;/p&gt;&lt;p&gt;本文始发于&lt;a href="http://www.ken-wu.cn/" target="_blank"&gt;&lt;span style="color: #8db5e9;"&gt;十万个为什么&lt;/span&gt;&lt;/a&gt;,作者伍锐锋,转载请注明出处并带上本链接.&lt;/p&gt;&lt;img src="http://www.cnblogs.com/EasonWu/aggbug/1880008.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/EasonWu/archive/2010/11/17/1880008.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/EasonWu/archive/2010/11/05/1869842.html</id><title type="text">使用快照隔离</title><summary type="text">SQL Server 2005 引入了新的快照隔离级别，可以提高 OLTP 应用程序的并发性。在以前版本的 SQL Server 中，并发性只是基于锁定，这就造成某些应用程序出现阻断和死锁的问题。相反，快照隔离依赖于行版本控制的增强功能，旨在通过避免读取器和编写器的阻止情况，来提高性能。启用快照隔离之后，每个事务的已更新行版本在 tempdb 中维护。唯一的事务序列号标识每个事务，并且为每个行版本记录这些唯一的编号。事务使用序列号在事务序列号之前的最新行版本。事务将忽略在事务开始之后创建的更新的行版本。“快照”一词反映的情况是：事务中的所有查询根据事务开始那一刻数据库的状态，看到数据库的相同版</summary><published>2010-11-05T05:02:00Z</published><updated>2010-11-05T05:02:00Z</updated><author><name>Eason Wu</name><uri>http://www.cnblogs.com/EasonWu/</uri></author><link rel="alternate" href="http://www.cnblogs.com/EasonWu/archive/2010/11/05/1869842.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/EasonWu/archive/2010/11/05/1869842.html"/><content type="html">&lt;p&gt;SQL Server 2005 引入了新的快照隔离级别，可以提高 OLTP 应用程序的并发性。在以前版本的 SQL Server 中，并发性只是基于锁定，这就造成某些应用程序出现阻断和死锁的问题。相反，快照隔离依赖于行版本控制的增强功能，旨在通过避免读取器和编写器的阻止情况，来提高性能。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;启用快照隔离之后，每个事务的已更新行版本在 tempdb 中维护。唯一的事务序列号标识每个事务，并且为每个行版本记录这些唯一的编号。事务使用序列号在事务序列号之前的最新行版本。事务将忽略在事务开始之后创建的更新的行版本。&lt;/p&gt;&lt;p&gt;&amp;ldquo;快照&amp;rdquo;一词反映的情况是：事务中的所有查询根据事务开始那一刻数据库的状态，看到数据库的相同版本（即快照）。不会在快照事务中的基础数据行或数据页上获取锁，这样可以执行其他事务，而不会被以前未完成的事务所阻止。修改数据的事务不会阻止读取数据的事务，读取数据的事务不会阻止写入数据的事务，就好像通常情况下在 SQL Server 中使用默认的 READ COMMITTED 隔离级别一样。这种无阻止的行为也大大降低了复杂事务出现死锁的可能性。&lt;/p&gt;&lt;p&gt;快照隔离使用开放式并发模型。如果快照事务尝试提交对事务开始后更改过的数据的修改，事务将回滚并将引发错误。对访问要修改的数据的 SELECT 语句使用 UPDLOCK 提示，可以避免此问题。有关更多信息，请参见&amp;ldquo;SQL Server 联机图书&amp;rdquo;中的&amp;ldquo;锁定提示&amp;rdquo;。&lt;/p&gt;&lt;p&gt;在事务中使用快照隔离之前，必须先通过设置 ALLOW_SNAPSHOT_ISOLATION ON 数据库选项来启用快照隔离。这样将激活在临时数据库 (tempdb) 中存储行版本的机制。在每个要将快照隔离与 Transact-SQL ALTER DATABASE 语句一起使用的数据库中，必须启用快照隔离。从这个方面来说，快照隔离与传统的隔离级别 READ COMMITTED、REPEATABLE READ、SERIALIZABLE 和 READ UNCOMMITTED 不同，这些传统的隔离级别不需要任何配置。下列语句激活快照隔离，并将默认的 READ COMMITTED 行为替换为 SNAPSHOT：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;ALTER DATABASE MyDatabase&lt;br/&gt;SET ALLOW_SNAPSHOT_ISOLATION ON&lt;br/&gt;&lt;br/&gt;ALTER DATABASE MyDatabase&lt;br/&gt;SET READ_COMMITTED_SNAPSHOT ON&lt;br/&gt;&lt;br/&gt;&lt;/div&gt;&lt;p&gt;设置 READ_COMMITTED_SNAPSHOT ON 选项后，可以使用默认的 READ COMMITTED 隔离级别访问版本化的行。如果 READ_COMMITTED_SNAPSHOT 选项设置为 OFF，必须为每个会话显式设置 Snapshot 隔离级别，以便访问版本化的行。&lt;/p&gt;&lt;p&gt;执行 Transact-SQL 语句所使用的隔离级别确定其锁定行为和行版本化行为。隔离级别的作用域为整个连接，使用 SET TRANSACTION ISOLATION LEVEL 语句为连接设置了隔离级别后，在连接关闭或设置了另一个隔离级别之前，该隔离级别将一直生效。但是，在连接内发出的各个查询可能包含锁提示，用于修改单个语句或事务的隔离，但是不影响连接的隔离级别。在存储过程或函数中设置的隔离级别或锁提示不会更改调用这些存储过程或函数的连接的隔离级别，并且只在存储过程或函数调用期间生效。&lt;/p&gt;&lt;p&gt;SQL-92 标准中定义了四个隔离级别，这四个隔离级别在以前版本的 SQL Server 中即受到支持：&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;READ UNCOMMITTED 是限制性最弱的隔离级别，因为该级别忽略其他事务放置的锁。使用 READ UNCOMMITTED 级别执行的事务，可以读取尚未由其他事务提交的修改后的数据值；这些行为称为&amp;ldquo;脏&amp;rdquo;读。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;READ COMMITTED 是 SQL Server 默认的隔离级别。该级别通过指定语句不能读取其他事务已修改但是尚未提交的数据值，禁止执行脏读。在当前事务中的各个语句执行之间，其他事务仍可以修改、插入或删除数据，从而产生无法重复的读操作，或&amp;ldquo;影子&amp;rdquo;数据。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;REPEATABLE READ 是比 READ COMMITTED 限制性更强的隔离级别。该级别包括 READ COMMITTED，并且另外指定了在当前事务提交之前，其他任何事务均不可以修改或删除当前事务已读取的数据。并发性低于 READ COMMITTED，因为已读数据的共享锁在整个事务期间持有，而不是在每个语句结束时释放。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;SERIALIZABLE 是限制性最强的隔离级别，因为该级别锁定整个范围的键，并一直持有锁，直到事务完成。该级别包括 REPEATABLE READ，并增加了在事务完成之前，其他事务不能向事务已读取的范围插入新行的限制。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="color: #ff0000;"&gt;以上内容转自MSDN&amp;hellip;&amp;hellip;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/EasonWu/aggbug/1869842.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/EasonWu/archive/2010/11/05/1869842.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/EasonWu/archive/2010/10/14/1851159.html</id><title type="text">ORA-01652 : unable to extend temp segment by 128 in tablespace temp</title><summary type="text">The error ORA-01652 : unable to extend temp segment by 128 in tablespace temp occurs when failed to allocate an extent of the required number of blocks for a temporary segment in the tablespace indicated.So maybe we could address this issue as following:Check the maxsize for TEMP tablespace. Probabl</summary><published>2010-10-14T05:31:00Z</published><updated>2010-10-14T05:31:00Z</updated><author><name>Eason Wu</name><uri>http://www.cnblogs.com/EasonWu/</uri></author><link rel="alternate" href="http://www.cnblogs.com/EasonWu/archive/2010/10/14/1851159.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/EasonWu/archive/2010/10/14/1851159.html"/><content type="html">&lt;p&gt;The error ORA-01652 : unable to extend temp segment by 128 in tablespace temp occurs when failed to allocate an extent of the required number of blocks for a temporary segment in the tablespace indicated.&lt;/p&gt;&lt;p&gt;So maybe we could address this issue as following:&lt;/p&gt;&lt;ul class="alternate" type="square"&gt;&lt;li&gt;Check the maxsize for TEMP tablespace. Probably TEMP's datafile had reached MAXSIZE.&lt;br /&gt;  Use  ALTER TABLESPACE ADD DATAFILE statement to add one or more  files to the tablespace (i.e tablespace TEMP) indicated.&lt;/li&gt;&lt;li&gt;Check the memory value set for the sort area size. problem can be that the size of sort area is more than the extent size of the temp table space .eg if your sort area size is 128 and temp extent size is 64 it will generate the same error as if there is no space on temp tablespace or datafile for further extesion.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Here is a useful discussion link about this issue:&lt;br /&gt;&lt;span class="nobr"&gt;&lt;a href="http://database.itags.org/oracle/168091/"&gt;http://database.itags.org/oracle/168091/&lt;sup&gt;&lt;img class="rendericon" src="https://jira.redprairie.com/images/icons/linkext7.gif" alt="" width="7" height="7" align="absmiddle" border="0" /&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/EasonWu/aggbug/1851159.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/EasonWu/archive/2010/10/14/1851159.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/EasonWu/archive/2010/09/23/1833289.html</id><title type="text">What does Subversion &amp;quot;405 Method Not Allowed&amp;quot; mean?</title><summary type="text">The error message "Server sent unexpected return value (405 Method Not Allowed) in response to MKCOL request for..." means that the commit to the Subversion repository failed. There are a few possible explanations and solutions. </summary><published>2010-09-23T03:00:00Z</published><updated>2010-09-23T03:00:00Z</updated><author><name>Eason Wu</name><uri>http://www.cnblogs.com/EasonWu/</uri></author><link rel="alternate" href="http://www.cnblogs.com/EasonWu/archive/2010/09/23/1833289.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/EasonWu/archive/2010/09/23/1833289.html"/><content type="html">&lt;p&gt;The error message "Server sent unexpected return value (405 Method Not Allowed) in response to MKCOL request for..." means that the commit to the Subversion repository failed. There are a few possible explanations and solutions.&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; 1. You may have performed an svn move twice before attempting to commit. Either move once and commit, or, if you decide after the move that you need to move it elsewhere, use svn revert to revert the first move, then svn move to move it where you want, then commit.&lt;br /&gt;&amp;nbsp; &amp;nbsp; 2. Something in your working copy may have got confused. Run clean up on your working copy. If this option does not resolve the problem, try renaming the top-level folder of your working copy and check out a new copy.&lt;br /&gt;&amp;nbsp; &amp;nbsp; 3. The length of your pathname could be causing issues. Windows doesn't support relative paths with more than about 255 characters. To avoid this, use absolute paths everywhere. One solution might be to check out the working copy into a shorter path.&lt;br /&gt;&amp;nbsp; &amp;nbsp; 4. The size of your file could be causing timeout issues. This is more of an Apache issue, but it can cause svn errors.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;This issue may be caused by following reason:&lt;/p&gt;&lt;p&gt;Check the project source code with anonymously, If you plan to make changes, please check out the code as yourself using HTTPS.&lt;/p&gt;&lt;img src="http://www.cnblogs.com/EasonWu/aggbug/1833289.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/EasonWu/archive/2010/09/23/1833289.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/EasonWu/archive/2010/09/21/1832584.html</id><title type="text">How to fix the issue &amp;quot;A problem has been encountered while loading the setup components. Canceling setup&amp;quot;?</title><summary type="text">When install or uninstall Visual Studio, we may encounter an error message which saying "A problem has been encountered while loading the setup components. Canceling setup". For above issue, we could ...</summary><published>2010-09-21T06:45:00Z</published><updated>2010-09-21T06:45:00Z</updated><author><name>Eason Wu</name><uri>http://www.cnblogs.com/EasonWu/</uri></author><link rel="alternate" href="http://www.cnblogs.com/EasonWu/archive/2010/09/21/1832584.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/EasonWu/archive/2010/09/21/1832584.html"/><content type="html">&lt;p&gt;When install or uninstall Visual Studio, we may encounter an error message which saying "A problem has been encountered while loading the setup components. Canceling setup". &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;For above issue, we could use Windows Install Clean Up (i.e. A tool from MS to remove VS softwares) to remove Visual studio and then reinstall the software.&lt;/p&gt;&lt;p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;With the Windows Installer CleanUp Utility, you will remove a program's Windows Installer configuration information.&lt;br/&gt;&lt;br/&gt;You may want to remove the Windows Installer configuration information for your program if you experience installation (Setup) problems.&lt;br/&gt;&lt;br/&gt;For example, you may have to remove a program's Windows Installer configuration information if you have installation problems when you try to add (or remove) a component of your program that was not included when you first installed your program.&lt;br/&gt;&lt;br/&gt;The Windows Installer CleanUp Utility is provided "as is" to help resolve installation problems for programs that use Microsoft Windows Installer. If you use this utility, you may have to reinstall other programs. Caution is advised.&lt;br/&gt;&lt;/div&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2010/22969/2010092114341638.jpg" alt="" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://usfiles.brothersoft.com/security/miscellaneous/msicuu2.exe" target="_blank"&gt;Download&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/EasonWu/aggbug/1832584.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/EasonWu/archive/2010/09/21/1832584.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/EasonWu/archive/2010/09/17/1829011.html</id><title type="text">How to loop Hashtable objects?</title><summary type="text">There are two ways to loop a Hashtable object:Use DictionaryEntry[代码]Use GetEnumerator()[代码]</summary><published>2010-09-17T02:21:00Z</published><updated>2010-09-17T02:21:00Z</updated><author><name>Eason Wu</name><uri>http://www.cnblogs.com/EasonWu/</uri></author><link rel="alternate" href="http://www.cnblogs.com/EasonWu/archive/2010/09/17/1829011.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/EasonWu/archive/2010/09/17/1829011.html"/><content type="html">&lt;p&gt;There are two ways to loop a Hashtable object:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Use DictionaryEntry&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&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: #0000ff;"&gt;using System.Collection;&lt;br /&gt;foreach&lt;/span&gt;&lt;span style="color: #000000;"&gt; (DictionaryEntry de &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;in&lt;/span&gt;&lt;span style="color: #000000;"&gt; objHasTab)&lt;br /&gt;{&lt;br /&gt;    Console.WriteLine(de.Key.ToString());&lt;br /&gt;    Console.WriteLine(de.Value.ToString());&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;Use GetEnumerator()&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&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: #000000;"&gt;IDictionaryEnumerator enumerator &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; objHashTablet.GetEnumerator();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;while&lt;/span&gt;&lt;span style="color: #000000;"&gt; (enumerator.MoveNext())&lt;br /&gt;{&lt;br /&gt;    Console.WriteLine(enumerator.Key);&lt;br /&gt;    Console.WriteLine(enumerator.Value);&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;/ul&gt;&lt;img src="http://www.cnblogs.com/EasonWu/aggbug/1829011.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/EasonWu/archive/2010/09/17/1829011.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
