1. /// <summary> /// 轉全形的函數(SBC case) /// </summary> /// <param name="input">任一字元串</param> /// <returns>全形字元串</returns> ///<remarks> ///全形空格為12288,半形空格為32 ///其他字元半形(33-126)與全形(65281-65374)的對應關係是:均相差65248 ///</remarks> public string ToSBC(string input) { //半形轉全形: char[] c = input.ToCharArray(); for (int i = 0; i < c.Length; i++) { if (c[i] == 32) { c[i] = (char)12288; continue; } if (c[i] < 127) c[i] = (char)(c[i] + 65248); } return new string(c); }/**/ /// <summary> /// 轉半形的函數(DBC case) /// </summary> /// <param name="input">任一字元串</param> /// <returns>半形字元串</returns> ///<remarks> ///全形空格為12288,半形空格為32 ///其他字元半形(33-126)與全形(65281-65374)的對應關係是:均相差65248 ///</remarks> public string ToDBC(string input) { char[] c = input.ToCharArray(); for (int i = 0; i < c.Length; i++) { if (c[i] == 12288) { c[i] = (char)32; continue; } if (c[i] > 65280 && c[i] < 65375) c[i] = (char)(c[i] - 65248); } return new string(c); } 2.使用Microsoft.VisualBasic類庫 在C#項目中添加引用Microsoft.VisualBasic.dll, 可以在C#程式中直接使用VB.NET中豐富的函數 1// 命令列編譯 : csc /r:Microsoft.VisualBasic.dll Test.cs // 如果是用 Visual Studio .NET IDE, 請按以下方法為項目添加引用: // 開啟[方案總管], 右擊項目名稱, 選擇[添加引用], // 從列表中選擇 Microsoft Visual Basic .NET Runtime 組件.
using Microsoft.VisualBasic;class Test { static void Main() { string s = "部落格園-空軍 [skyIV.cnBlogs.com]"; System.Console.WriteLine(s); s = Strings.StrConv(s, VbStrConv.Wide , 0); // 半形轉全形 s = Strings.StrConv(s, VbStrConv.TraditionalChinese, 0); // 簡體轉繁體 System.Console.WriteLine(s); s = Strings.StrConv(s, VbStrConv.ProperCase , 0); // 首字母大寫 s = Strings.StrConv(s, VbStrConv.Narrow , 0); // 全形轉半形 s = Strings.StrConv(s, VbStrConv.SimplifiedChinese , 0); // 繁體轉簡體 System.Console.WriteLine(s); } } |