全角半角转换函数;
1.
///?轉全角的函數(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);
??}
}
轉載于:https://www.cnblogs.com/upzone/archive/2006/05/29/412140.html
總結
- 上一篇: 简单的问题和复杂的问题
- 下一篇: 国学资料网站推荐