The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

整理一些 Regex 的學習資源

我第一次接觸 Regular Expression (正規表示式, 樣式比對) 是 8 年前在學 Perl 程式語言的時候,當初一開始接觸 Regular Expression 時好像看到無字天書一樣,實在是無法「直接看語法」猜到 Regular Expression 的意義,所以只好一個規則一個規則的看,看不懂先跳過,然後一行程式一行程式的練習寫、寫錯就一直改,直到熟能生巧後,日後的子不知道省去我多少時間啊!任何有需要「字串處理」的地方全部都用 Regular Expression 來寫,不管是 Perl, PHP, JavaScript, C# 全部都有支援 Regular Expression,且語法規則都大同小異,所以真的是學一次用一輩子,反正是程式設計師一定要學的技能就是了。

... 繼續閱讀 ...

如何用 C# 撰寫序列化(Serialize)與反序列化(Deserialize)

序列化是個很好用的開發方式,可以將任何繼承於 ISerializable 的 .NET 型別(Type)物件都可以被序列化成 Xml 或其他格式,以便於將複雜的物件資料儲存在資料庫或其他儲存媒體中。

... 繼續閱讀 ...

C# 中的進制轉換

在 C# 執行進制的轉換可以透過 Convert 類別來操作,使用上還蠻方便的,在此列出幾個常用的寫法:

... 繼續閱讀 ...

ASP.NET 回應大型檔案的注意事項

當使用 ASP.NET 回應大型檔案的時候,通常有三種方式可以實做,但使用上有幾個地方要特別注意:

... 繼續閱讀 ...

如何在頁面中直接使用資料繫結運算式語法〈%# ... %〉

我們在要在頁面中直接輸出一個變數可以使用 <%= DataTime.Now %> 等於法,或是透過一個頁面的屬性(Property)或方法(Method)進行存取,例如說:

... 繼續閱讀 ...

在 HttpHandler 中使用 Session 的注意事項

在寫 HttpHandler 或 Generic Handler 的時候,如果要使用 Session 物件的話,在 Visual Studio 中你可以很輕易的透過 Intellisense 使用 context. 時取得 Session 物件,但是你會發現這個物件會傳的值永遠都是 null,所以你是無法取得或設定 Session 資料的,如果要在 HttpHandler 中使用 Session 的話,其 HttpHandler 的類別一定要繼承 System.Web.SessionState.IRequiresSessionState 介面(讓 context.Session 可讀可寫)或 System.Web.SessionState.IReadOnlySessionState 介面(讓 context.Session 唯讀),繼承這個介面不需要實做任何方法(Methods),只要單純的將介面繼承上去即可。

... 繼續閱讀 ...

如何解決字集混亂的問題

前天替一個網友解決了一個 Encoding 混亂的問題:ASP.net 傳遞中文至Web Service 亂碼問題,像這種這個問題最常出現在「非 Unicode 的系統」裡,像這個案例就是他們的 Web Service 是用 PHPNuSOAP 開發的,因為預設就是用 ISO-8859-1 的字集做資料的編碼與傳輸,所以資料在同樣的字集傳輸下,在非原生(Non-Native)支援 Unicode 的程式語言下很自然的不會發現問題,但是一到了 .NET 就不一樣了,.NET 是一個打從骨子裡支援 Unicode 的架構,所以對 Encoding 是很敏感的。

... 繼續閱讀 ...

如何顯示固定寬度的 Label, 超過會顯示 ...

我們在套版的時候,常常會遇到那種「文字寬度固定」的版型,我們通常的作法都是用 Substring 將長篇的文字擷取一部份起來顯示,但問題是「中文字的寬度常常無法估計」,但客戶又要求寬度一定要跟設計師設計的一模一樣,文字太多的時候不能超出版面,以免破壞美美的版面。

... 繼續閱讀 ...

VB.NET 與 C# 語言轉換器

剛寫 .NET 的人最討厭的就是分成 VB.NET 與 C#,像是學 ASP 起家的人想要看懂 C# 就會感覺有點吃力,雖然我個人認為語法是蠻像的,但是對初學者來說就是覺得「很不一樣」。

... 繼續閱讀 ...