<?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/8002/rss</id><updated>2011-08-28T22:33:36Z</updated><author><name>╃小〥斌╄</name><uri>http://www.cnblogs.com/seagate_cn/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/seagate_cn/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/8002/rss"/><entry><id>http://www.cnblogs.com/seagate_cn/archive/2011/08/29/2157221.html</id><title type="text">memo-bitwise</title><summary type="text">去掉最后一位 | (101101-&amp;gt;10110) | x &amp;gt;&amp;gt; 1在最后加一个0 | (101101-&amp;gt;1011010) | x &amp;lt;&amp;lt; 1在最后加一个1 | (101101-&amp;gt;1011011) | x &amp;lt;&amp;lt; 1+1把最后一位变成1 | (101100-&amp;gt;101101) | x | 1把最后一位变成0 | (101101-&amp;gt;101100) | x | 1-1最后一位取反 | (101101-&amp;gt;101100) | x ^ 1把右数第k位变成1 | (101001-&amp;gt;101101,k=3) | x | (1 &amp;lt;&amp;lt</summary><published>2011-08-28T22:33:00Z</published><updated>2011-08-28T22:33:00Z</updated><author><name>╃小〥斌╄</name><uri>http://www.cnblogs.com/seagate_cn/</uri></author><link rel="alternate" href="http://www.cnblogs.com/seagate_cn/archive/2011/08/29/2157221.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/seagate_cn/archive/2011/08/29/2157221.html"/><content type="html">&lt;p&gt;&lt;span  style="font-family: simsun; line-height: 23px;"&gt;去掉最后一位 | (101101-&amp;gt;10110) | x &amp;gt;&amp;gt; 1&lt;br /&gt;在最后加一个0 | (101101-&amp;gt;1011010) | x &amp;lt;&amp;lt; 1&lt;br /&gt;在最后加一个1 | (101101-&amp;gt;1011011) | x &amp;lt;&amp;lt; 1+1&lt;br /&gt;把最后一位变成1 | (101100-&amp;gt;101101) | x | 1&lt;br /&gt;把最后一位变成0 | (101101-&amp;gt;101100) | x | 1-1&lt;br /&gt;最后一位取反 | (101101-&amp;gt;101100) | x ^ 1&lt;br /&gt;把右数第k位变成1 | (101001-&amp;gt;101101,k=3) | x | (1 &amp;lt;&amp;lt; (k-1))&lt;br /&gt;把右数第k位变成0 | (101101-&amp;gt;101001,k=3) | x &amp;amp; ~ (1 &amp;lt;&amp;lt; (k-1))&lt;br /&gt;右数第k位取反 | (101001-&amp;gt;101101,k=3) | x ^ (1 &amp;lt;&amp;lt; (k-1))&lt;br /&gt;取末三位 | (1101101-&amp;gt;101) | x &amp;amp; 7&lt;br /&gt;取末k位 | (1101101-&amp;gt;1101,k=5) | x &amp;amp; ((1 &amp;lt;&amp;lt; k)-1)&lt;br /&gt;取右数第k位 | (1101101-&amp;gt;1,k=4) | x &amp;gt;&amp;gt; (k-1) &amp;amp; 1&lt;br /&gt;把末k位变成1 | (101001-&amp;gt;101111,k=4) | x | (1 &amp;lt;&amp;lt; k-1)&lt;br /&gt;末k位取反 | (101001-&amp;gt;100110,k=4) | x ^ (1 &amp;lt;&amp;lt; k-1)&lt;br /&gt;把右边连续的1变成0 | (100101111-&amp;gt;100100000) | x &amp;amp; (x+1)&lt;br /&gt;把右起第一个0变成1 | (100101111-&amp;gt;100111111) | x | (x+1)&lt;br /&gt;把右边连续的0变成1 | (11011000-&amp;gt;11011111) | x | (x-1)&lt;br /&gt;取右边连续的1 | (100101111-&amp;gt;1111) | (x ^ (x+1)) &amp;gt;&amp;gt; 1&lt;br /&gt;去掉右起第一个1的左边 | (100101000-&amp;gt;1000) | x &amp;amp; (x ^ (x-1))&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/seagate_cn/aggbug/2157221.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/seagate_cn/archive/2011/08/29/2157221.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/seagate_cn/archive/2011/07/19/2110711.html</id><title type="text">利用动态反射来简化检索代码</title><summary type="text">利用动态反射来简化检索代码</summary><published>2011-07-19T08:05:00Z</published><updated>2011-07-19T08:05:00Z</updated><author><name>╃小〥斌╄</name><uri>http://www.cnblogs.com/seagate_cn/</uri></author><link rel="alternate" href="http://www.cnblogs.com/seagate_cn/archive/2011/07/19/2110711.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/seagate_cn/archive/2011/07/19/2110711.html"/><content type="html">&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;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;pre&gt;&lt;span style="color: #000000;"&gt;        &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;class&lt;/span&gt;&lt;span style="color: #000000;"&gt; SurveySegEntity&lt;br /&gt;        {&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;public&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; No { &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;get&lt;/span&gt;&lt;span style="color: #000000;"&gt;; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;set&lt;/span&gt;&lt;span style="color: #000000;"&gt;; }&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt; SurveyName { &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;get&lt;/span&gt;&lt;span style="color: #000000;"&gt;; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;set&lt;/span&gt;&lt;span style="color: #000000;"&gt;; }&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt; SurveyTitle { &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;get&lt;/span&gt;&lt;span style="color: #000000;"&gt;; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;set&lt;/span&gt;&lt;span style="color: #000000;"&gt;; }&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt; OpenTitle { &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;get&lt;/span&gt;&lt;span style="color: #000000;"&gt;; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;set&lt;/span&gt;&lt;span style="color: #000000;"&gt;; }&lt;br /&gt;        }&lt;/span&gt;&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;如果我想取这个对象集合中前10条&amp;rdquo;SurveyName&amp;rdquo;以"xx" 开头 对象集合的话&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;"&gt;&#xD;
&lt;pre&gt;&lt;span style="color: #000000;"&gt;var query &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; from p &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;in&lt;/span&gt;&lt;span style="color: #000000;"&gt; 集合对象 select p ;&lt;br /&gt;query.Where(o &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; o.SurveyName.StartsWith(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;xx&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;)).Select(o &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; o).Take(&lt;/span&gt;&lt;span style="color: #800080;"&gt;10&lt;/span&gt;&lt;span style="color: #000000;"&gt;).ToArray();&lt;/span&gt;&lt;/pre&gt;&#xD;
&lt;/div&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;"&gt;&#xD;
&lt;pre&gt;&lt;span style="color: #000000;"&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; &lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; 对象检索&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; &lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; &lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;param name="filter"&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;关键字&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; &lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;param name="key"&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;检索字段&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; &lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;param name="method"&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;检索方法&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; &lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;param name="top"&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;返回结果数量&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; &lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;检索结果&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;        &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; IEnumerable&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;SurveySegEntity&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; GetResultByCondtion(&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt; filter, &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt; key, &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt; method, &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt; top)&lt;br /&gt;        {&lt;br /&gt;            List&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;SurveySegEntity&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; lstSurveySegEntity &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; List&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;SurveySegEntity&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;() { &lt;br /&gt;                &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; SurveySegEntity{ No &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&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; , SurveyName &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;xx&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt; , OpenTitle &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;xx&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt; , SurveyTitle&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;xx&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;}&lt;br /&gt;            }; &lt;br /&gt;&lt;br /&gt;            var query &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; from entity &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;in&lt;/span&gt;&lt;span style="color: #000000;"&gt; lstSurveySegEntity select entity;&lt;br /&gt;&lt;br /&gt;            {&lt;br /&gt;                &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;switch&lt;/span&gt;&lt;span style="color: #000000;"&gt; (method)&lt;br /&gt;                {&lt;br /&gt;                    &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;StartsWith&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;br /&gt;&lt;br /&gt;                        &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;switch&lt;/span&gt;&lt;span style="color: #000000;"&gt; (key)&lt;br /&gt;                        {&lt;br /&gt;                            &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;SurveyName&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;br /&gt;                                &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt; query.Where(o &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; o.SurveyName.StartsWith(filter)).Select(o &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; o).Take(top).ToArray();&lt;br /&gt;                            &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;SurveyTitle&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;br /&gt;                                &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt; query.Where(o &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; o.SurveyTitle.StartsWith(filter)).Select(o &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; o).Take(top).ToArray();&lt;br /&gt;                            &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;OpenTitle&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;br /&gt;                                &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt; query.Where(o &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; o.OpenTitle.StartsWith(filter)).Select(o &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; o).Take(top).ToArray();&lt;br /&gt;                        }&lt;br /&gt;                        &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;break&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;                    &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;EndsWith&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;br /&gt;&lt;br /&gt;                        &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;switch&lt;/span&gt;&lt;span style="color: #000000;"&gt; (key)&lt;br /&gt;                        {&lt;br /&gt;                            &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;SurveyName&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;br /&gt;                                &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt; query.Where(o &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; o.SurveyName.EndsWith(filter)).Select(o &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; o).Take(top).ToArray();&lt;br /&gt;                            &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;SurveyTitle&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;br /&gt;                                &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt; query.Where(o &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; o.SurveyTitle.EndsWith(filter)).Select(o &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; o).Take(top).ToArray();&lt;br /&gt;                            &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;OpenTitle&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;br /&gt;                                &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt; query.Where(o &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; o.OpenTitle.EndsWith(filter)).Select(o &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; o).Take(top).ToArray();&lt;br /&gt;                        }&lt;br /&gt;&lt;br /&gt;                        &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;break&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;br /&gt;                    &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Contains&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;br /&gt;&lt;br /&gt;                        &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;switch&lt;/span&gt;&lt;span style="color: #000000;"&gt; (key)&lt;br /&gt;                        {&lt;br /&gt;                            &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;SurveyName&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;br /&gt;                                &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt; query.Where(o &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; o.SurveyName.Contains(filter)).Select(o &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; o).Take(top).ToArray();&lt;br /&gt;                            &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;SurveyTitle&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;br /&gt;                                &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt; query.Where(o &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; o.SurveyTitle.Contains(filter)).Select(o &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; o).Take(top).ToArray();&lt;br /&gt;                            &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;OpenTitle&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;br /&gt;                                &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt; query.Where(o &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; o.OpenTitle.Contains(filter)).Select(o &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; o).Take(top).ToArray();&lt;br /&gt;                        }&lt;br /&gt;                        &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;break&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;                }&lt;br /&gt;&lt;br /&gt;                &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt; query.Select(o &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; o).Take(top).ToArray();&lt;br /&gt;            }&lt;br /&gt;        }&lt;/span&gt;&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&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;"&gt;&#xD;
&lt;pre&gt;&lt;span style="color: #000000;"&gt;GetResultByCondtion(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;xx&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;, &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;SurveyName&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;, &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;StartsWith&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;, &lt;/span&gt;&lt;span style="color: #800080;"&gt;10&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;/span&gt;&lt;/pre&gt;&#xD;
&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;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;pre&gt;&lt;span style="color: #000000;"&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; &lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; 对象检索&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; &lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; &lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;param name="filter"&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;关键字&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; &lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;param name="key"&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;检索字段&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; &lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;param name="method"&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;检索方法&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; &lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;param name="top"&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;返回结果数量&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; &lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;检索结果&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;        &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;static&lt;/span&gt;&lt;span style="color: #000000;"&gt; IEnumerable&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;SurveySegEntity&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; GetResultByCondtion(&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt; filter, &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt; key, &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt; method, &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt; top)&lt;br /&gt;        {&lt;br /&gt;            List&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;SurveySegEntity&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; lstSurveySegEntity &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; List&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;SurveySegEntity&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;() { &lt;br /&gt;                &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; SurveySegEntity{ No &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&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; , SurveyName &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;xx&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt; , OpenTitle &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;xx&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt; , SurveyTitle&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;xx&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;}&lt;br /&gt;            }; &lt;br /&gt;            var query &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; from entity &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;in&lt;/span&gt;&lt;span style="color: #000000;"&gt; lstSurveySegEntity select entity;&lt;br /&gt;&lt;br /&gt;            var p &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;typeof&lt;/span&gt;&lt;span style="color: #000000;"&gt;(SurveySegEntity).GetProperty(key);&lt;br /&gt;            var m &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &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;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;).GetMethod(method, &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;[] { &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;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;) });&lt;br /&gt;&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt; query&lt;br /&gt;                .Select(o &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; o)&lt;br /&gt;                .Where(value &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; (&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;bool&lt;/span&gt;&lt;span style="color: #000000;"&gt;)m.Invoke((&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;)p.GetValue(value, &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;&lt;span style="color: #000000;"&gt;), &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;object&lt;/span&gt;&lt;span style="color: #000000;"&gt;[] { filter }))&lt;br /&gt;                .Take(top).ToArray();&lt;br /&gt;        }&lt;/span&gt;&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;PS:&amp;nbsp; 现有方法中对于参数不正情况下，返回top 10 的对象集合属于垃圾代码， 只是为了给代码一个默认返回值，并不是业务需求 。&amp;nbsp;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;所以在示例代码中省略了 。&lt;/p&gt;&#xD;
&lt;p&gt;如果要加上的话， 将再加上一个GetDefaultEntity方法， 在参数不正的时候调用返回。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;■相关链接&lt;/p&gt;&#xD;
&lt;p&gt;【&lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/1y4s51k3.aspx"&gt;Type.GetProperty Method&lt;/a&gt;】&lt;br /&gt;&lt;br /&gt;【&lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/system.type.getmethod.aspx"&gt;Type.GetMethod Method &lt;/a&gt;】&lt;br /&gt;&lt;br /&gt;【&lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/system.reflection.methodbase.invoke.aspx"&gt;MethodBase.Invoke Method&lt;/a&gt;】 &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/seagate_cn/aggbug/2110711.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/seagate_cn/archive/2011/07/19/2110711.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/seagate_cn/archive/2011/07/18/2109606.html</id><title type="text">JS的日期格式转换成C#的日期格式的方法</title><summary type="text">■问题:前台程序通过Js取得日期时间后传递到后台，这就需要后台将Js的日期格式转换成C#的日期格式。■解决方案.net4.0之前的一般做法：var a = new DateTime(1970, 01, 01).AddMilliseconds(xx); xx为Js日期所代表的从1970/01/01 00:00:00 一直到现在所经历的毫秒数。 由于还有时区差异和时间间隔的误差， 结果并不精准。而且由于之前没有统一的时间格式方法，处理起来比较麻烦。.net4.0提供了【DateTime.ParseExact】方法来解决这个问题：DateTime dt = DateTime.ParseExact( </summary><published>2011-07-18T07:48:00Z</published><updated>2011-07-18T07:48:00Z</updated><author><name>╃小〥斌╄</name><uri>http://www.cnblogs.com/seagate_cn/</uri></author><link rel="alternate" href="http://www.cnblogs.com/seagate_cn/archive/2011/07/18/2109606.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/seagate_cn/archive/2011/07/18/2109606.html"/><content type="html">&lt;div&gt;■问题:&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div&gt;前台程序通过Js取得日期时间后传递到后台，&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div&gt;这就需要后台将Js的日期格式转换成C#的日期格式。&lt;/div&gt;&#xD;
&lt;div&gt;&lt;/div&gt;&#xD;
&lt;div&gt;■解决方案&lt;/div&gt;&#xD;
&lt;div&gt;.net4.0之前的一般做法：&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;pre&gt;&lt;span style="color: #000000;"&gt;var a &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; DateTime(&lt;/span&gt;&lt;span style="color: #800080;"&gt;1970&lt;/span&gt;&lt;span style="color: #000000;"&gt;, &lt;/span&gt;&lt;span style="color: #800080;"&gt;01&lt;/span&gt;&lt;span style="color: #000000;"&gt;, &lt;/span&gt;&lt;span style="color: #800080;"&gt;01&lt;/span&gt;&lt;span style="color: #000000;"&gt;).AddMilliseconds(xx&lt;/span&gt;&lt;span  style="font-family: 'Courier New';"&gt;);&lt;/span&gt;&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;xx为&lt;span  style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 19px; white-space: pre;"&gt;&lt;span style="color: #000000;"&gt;Js日期所代表的从1970/01/01 00:00:00 &lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;span color="#333333" face="Georgia, 'Times New Roman', Times, san-serif" style="color: #333333; font-family: Georgia, 'Times New Roman', Times, san-serif;"&gt;一直到现在所经历的毫秒数。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span color="#333333" face="Georgia, 'Times New Roman', Times, san-serif" style="color: #333333; font-family: Georgia, 'Times New Roman', Times, san-serif;"&gt;&lt;span  style="line-height: 25px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 由于还有时区差异和时间间隔的误差， 结果并不精准。而且由于之前没有统一的时间格式方法，处理起来比较麻烦。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;.net4.0提供了&lt;a href="http://msdn.microsoft.com/en-us/library/ms131038.aspx" target="_blank"&gt;【&lt;span  style="font-family: Tahoma, Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 19px;"&gt;DateTime.ParseExact&lt;/span&gt;】&lt;/a&gt;方法来解决这个问题：&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;pre&gt;&lt;span style="color: #000000;"&gt;DateTime dt &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; DateTime.ParseExact(&lt;br /&gt;                                  &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Tue Jul 12 2011 16:00:00 GMT+08:00&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;br /&gt;                                  &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;ddd MMM d yyyy HH:mm:ss 'GMT'zzz&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;, &lt;br /&gt;                                  CultureInfo.InvariantCulture); &lt;/span&gt;&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;相关资料：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体; font-size: 16px;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms131038.aspx" target="_blank"&gt;【&lt;span  style="line-height: 19px;"&gt;DateTime.ParseExact&lt;/span&gt;】&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体; font-size: 16px;"&gt;【&lt;a href="http://msdn.microsoft.com/zh-cn/library/4c5zdc6a(v=vs.80).aspx" target="_blank"&gt;InvariantCulture&lt;/a&gt;】&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span  style="font-family: 宋体; font-size: 16px; line-height: 24px;"&gt;【&lt;a href="http://msdn.microsoft.com/en-us/library/system.globalization.datetimeformatinfo.aspx" target="_blank"&gt;DateTimeFormatInfo&lt;/a&gt;】&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/div&gt;&lt;img src="http://www.cnblogs.com/seagate_cn/aggbug/2109606.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/seagate_cn/archive/2011/07/18/2109606.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/seagate_cn/archive/2011/07/17/2108906.html</id><title type="text">通过一个byte数组查找在它另外一个数组中的出现次数</title><summary type="text">问题： 有2个byte数组byte[] a = new byte[] { 1, 2, 3, 2, 3, 1, 2, 3 };byte[] b = new byte[] { 2, 3 }; a为查找目标，b为查找关键字 希望得到b在a中重复出现的次数 : 3解决方案：■正则private static int Search(byte[] target, byte[] keyword){ var strTarget = BitConverter.ToString(target); var strKeyword = BitConverter.ToString(keyword); return new</summary><published>2011-07-17T13:48:00Z</published><updated>2011-07-17T13:48:00Z</updated><author><name>╃小〥斌╄</name><uri>http://www.cnblogs.com/seagate_cn/</uri></author><link rel="alternate" href="http://www.cnblogs.com/seagate_cn/archive/2011/07/17/2108906.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/seagate_cn/archive/2011/07/17/2108906.html"/><content type="html">该文只有注册用户登录后才能阅读。&lt;a href='http://www.cnblogs.com/seagate_cn/archive/2011/07/17/2108906.html' target='_blank'&gt;阅读全文&lt;/a&gt;。</content></entry></feed>
