前言
做過VB開發的都知道,有一些VB里面的好的函數在.NET里面都沒有,而Microsoft.VisualBasic.dll卻給我們提供使用這些函數的功能(沒用過VB的這些功能一樣可以使用,大同小異而已)
今天這里主要講兩個:一個是繁簡轉換,另一個是計算時間差,相信大家都有方法實現這兩個功能,而我今天講的卻是只各需一句代碼就實現這兩個功能!
功能一:繁簡轉換
首先需要引用Microsoft.VisualBasic.dll,廢話不多說直接上代碼
using Microsoft.VisualBasic; string str="悲夢"; //簡體轉繁體 str=Strings.StrConv(str, VbStrConv.TraditionalChinese, 1033); //繁體轉簡體 str=Strings.StrConv(str, VbStrConv.SimplifiedChinese, 1033);
String.StrConv 的說明:
第一個參數是待轉換的字符串;
第二個參數是欲轉換的字體的枚舉值;
第三個參數是文字轉換后,最后對應的編碼格式(LocaleID);
1028 繁體中文
1033 ASCII
2052 簡體中文
為何不管繁體轉簡體還是簡體轉繁體我都用 1033 呢?
首先,要先知道,有些簡體中文的編碼值是在繁體中文中對應不到任何字的。此時,顯示的字就會是 "?" 號。
因為 2052 的 「 國] 已經是簡體字了,轉換到繁體時,剛好其編碼對應不到1028 的編碼,因此會是問號。
最好的方式,是以 en-US(美國) 作為編碼格式。當以 en-US 作為最后的編碼格式后,又遇到亞洲字時,就會以 unicode 作為儲存編碼格式。此時剛好與 .net 的 string 儲存格式相同。這樣就解決了問題!
因此,當我們在做繁簡轉換時,請將第三個參數都設成 1033
功能二:時間差計算
相信大家都有計算兩個時間的時間差,有可能是計算相差的天數、小時、分鍾、秒,這些我們都可以通過一句代碼來實現,先上代碼
using Microsoft.VisualBasic; //可以得到dt=50 long dt = DateAndTime.DateDiff(DateInterval.Hour, DateTime.Now, DateTime.Now.AddHours(50));
DateAndTime.DateDiff說明:
第一個參數是需要得到的時間差的形式的枚舉值;可以是天數,小時,分鍾,秒數等
第二個參數就是減的時間值;
第三個參數就是被減的時間值;
結束語
以上兩個功能看起來都很簡單,但是如果不借助Microsoft.VisualBasic.dll的話實現起來還是挺麻煩的,用以上的方法實現起來既方便又准確!大家覺得好的話,推薦一下哦!