[C#] 使用 Fasterflect 進行快速反射

2012-11-07

 

之前一篇文章 [C#] 搜尋 T 裡面是否有某屬性中有某關鍵字

提到有關於 反射找出T 是否某一Property 帶有某值..

套一句 運轉手之戀這部電影說過的話..那時候我一值在想,如果再快一點會怎麼樣?!

之前的案例..

/// <summary>
/// 搜尋是否物件某屬性中是否帶有某關鍵字
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="lists"></param>
/// <param name="propertyName">屬性名</param>
/// <param name="propertyValue">是否包含某關鍵字</param>
/// <returns></returns>
public T[] SearchListPropertyValue<T>(List<T> lists, string propertyName, string propertyValue)
{
    List<T> re = new List<T>();
 
 
    return
        lists.Where(
            x => x.GetType().GetProperty(propertyName).GetValue(x, null).ToString().IndexOf(propertyValue, StringComparison.OrdinalIgnoreCase) >= 0).
            ToArray();
 
}


這時候我們呼叫 一個 擁有一百萬個物件的List


[C#][小技巧] double 轉字串問題,我不要 +E

2012-11-06

 

這需求有點詭異,但是依然就是發生了,

一個double 數值

double doubleValue = 900000000 * 9000000000 + 9000000000;
把他轉成 string 會長怎樣呢?!

答案是  8.100000009E+18


這不是我預期的答案,就人類世界來看我希望看到的數字是 8100000009000000000


這時候要動點小手腳( 嘆氣~~



[C#] 超級方便的 ExpandoObject 類別

 

這東西是 .NET Framework 4.0 的東西..

發現這個,大概就跟發現新大陸一樣的興奮,讓我再次讚嘆 Anders Hejlsberg 之神..

這邊有MSDN : http://msdn.microsoft.com/en-us/library/system.dynamic.expandoobject.aspx

簡單看一下他方便的地方..


[C#] Web Service 移除 xmlns

2012-11-05

 

最近因為一些業主要求,所以他需要我吐出去Web Service 的 XML 不能帶有  xmlns ..

也就是 原本是

2012-09-10_113819

但是他們家DEV 希望看的是

2012-09-10_113934

也真夠懶得…

不過付錢者大,看一下原本一開始的ASMX 檔案 是長這樣…


[C#] 透過DTD 驗證XML 完整性

2012-11-03

 

解別人問的問題,可不可以透過C# 來驗證某一份XML 是否符合DTD 的規範,

已經給他範例 http://msdn.microsoft.com/en-us/library/z2adhb2f.aspx

但是他說他要在一個function 內做完,因為生命週期的關係,最後非常懶得包Class 來做..

最後用這樣的解法…

順帶一提: (DTD)是一種可定義合法的XML文檔構建模塊。它使用一系列合法的元素來定義文檔的結構。

所以簡單的說DTD 可以用來驗證一個XML 是否是自己要的文法


[C#] Regex筆記- 取得網頁META 紀錄的內容

2012-11-02

 

又到了Regex 時間,因為寫Regex 方法百百種,所以有碰到就紀錄一下,

今天遇到的問題,就是如何知道這網頁內容是啥東西,當然我可以用這招..Regex筆記- 移除所有HTML tag + 移除 JavaScript

但是這內容很多,所以我決定從網頁META 內容下手,如果沒有再去取<TITLE> 裡面的資料,在沒有真的去抓CONTENT

但是現在越來越多人會去寫META 了 ..

通常網頁來說 META 會長這樣..


<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta name="discription" content="當麻許Silverlight學習筆記" />
<meta name="keywords" content="六月羊,當麻許,Silverlight,D小調,C#" />
<meta name="keywords" content="C#,ASP.net,Regex" />
<meta name="author" content="當麻許" />
<meta name="description" content="最近公司需求,需要parse 一些資料,就趁這機會筆記一下..需求是找出網頁中,所有的超連結位置.." />


所以name 跟 content 這屬性是我要的..


當麻許的超技八 2014 | Donma Hsu Design.