方法一:
/**//// 
 /// 判断字符是否英文半角字符或标点
 /// 
 /// 
 /// 32 空格
 /// 33-47 标点
 /// 48-57 0~9
 /// 58-64 标点
 /// 65-90 A~Z
 /// 91-96 标点
 /// 97-122 a~z
 /// 123-126 标点
 /// 
 public static bool IsBjChar(char c)
 {
 int i = (int)c;
 return i >= 32 && i <= 126;
 }
 /**//// 
 /// 判断字符是否全角字符或标点
 /// 
 /// 
 /// 全角字符 - 65248 = 半角字符
 /// 全角空格例外
 /// 
 public static bool IsQjChar(char c)
 {
 if (c == '\u3000') return true;
 int i = (int)c - 65248;
 if (i < 32) return false;
 return IsBjChar((char)i);
 }
 /**//// 
 /// 将字符串中的全角字符转换为半角
 /// 
 public static string ToBj(string s)
 {
 if (s == null || s.Trim() == string.Empty) return s;
 StringBuilder sb = new StringBuilder(s.Length);
 for (int i = 0; i < s.Length; i++)
 {
 if (s[i] == '\u3000')
 sb.Append('\u0020');
 else if (IsQjChar(s[i]))
 sb.Append((char)((int)s[i] - 65248));
 else
 sb.Append(s[i]);
 }
 return sb.ToString();
 }
方法二:
添加 Microsoft Visual Basic.NET Runtime 引用。
Console.WriteLine(Microsoft.VisualBasic.Strings.StrConv("abcdefg", VbStrConv.Narrow, 0));