全角:指一个字符占用两个标准字符位置;半角:指一字符占用一个标准的字符位置。  

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace ExtensionMethodsDemo
  7. {
  8. static class Program
  9. {
  10. static void Main(string[] args)
  11. {
  12. string input = "深圳狐狼,你是好人!".ToSBC();
  13. string input2 = "chenyuming,you are a good man!".ToDBC();
  14. Console.WriteLine(input);
  15. Console.WriteLine(input2);
  16. }
  17.  
  18. /// <summary>
  19. /// 转化为半角字符串(扩展方法)
  20. /// </summary>
  21. /// <param name="input">要转化的字符串</param>
  22. /// <returns>半角字符串</returns>
  23. public static string ToSBC(this string input)//single byte charactor
  24. {
  25. char[] c = input.ToCharArray();
  26. ; i < c.Length; i++)
  27. {
  28. )//全角空格为12288,半角空格为32
  29. {
  30. c[i] = (;
  31. continue;
  32. }
  33. && c[i] < )//其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
  34. c[i] = ();
  35. }
  36. return new string(c);
  37. }
  38.  
  39. /// <summary>
  40. /// 转化为全角字符串(扩展方法)
  41. /// </summary>
  42. /// <param name="input">要转化的字符串</param>
  43. /// <returns>全角字符串</returns>
  44. public static string ToDBC(this string input)//double byte charactor
  45. {
  46. char[] c = input.ToCharArray();
  47. ; i < c.Length; i++)
  48. {
  49. )
  50. {
  51. c[i] = (;
  52. continue;
  53. }
  54. )
  55. c[i] = ();
  56. }
  57. return new string(c);
  58. }
  59. }
  60.  
  61. }

  因为扩展方法必须在静态类下定义,所以最好写成下面形式:

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace ExtensionMethodsDemo
  7. {
  8. class Program //此类可不为静态类
  9. {
  10. static void Main(string[] args)
  11. {
  12. string input = ExtensionMethods.ToSBC("深圳狐狼,你是好人!");
  13. string input2 = ExtensionMethods.ToDBC("chenyuming,you are a good man!");
  14. Console.WriteLine(input);
  15. Console.WriteLine(input2);
  16. }
  17. }
  18.  
  19. static class ExtensionMethods
  20. {
  21. /// <summary>
  22. /// 转化为半角字符串
  23. /// </summary>
  24. /// <param name="input">要转化的字符串</param>
  25. /// <returns>半角字符串</returns>
  26. public static string ToSBC(this string input)//single byte charactor
  27. {
  28. char[] c = input.ToCharArray();
  29. ; i < c.Length; i++)
  30. {
  31. )//全角空格为12288,半角空格为32
  32. {
  33. c[i] = (;
  34. continue;
  35. }
  36. && c[i] < )//其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
  37. c[i] = ();
  38. }
  39. return new string(c);
  40. }
  41.  
  42. /// <summary>
  43. /// 转化为全角字符串
  44. /// </summary>
  45. /// <param name="input">要转化的字符串</param>
  46. /// <returns>全角字符串</returns>
  47. public static string ToDBC(this string input)//double byte charactor
  48. {
  49. char[] c = input.ToCharArray();
  50. ; i < c.Length; i++)
  51. {
  52. )
  53. {
  54. c[i] = (;
  55. continue;
  56. }
  57. )
  58. c[i] = ();
  59. }
  60. return new string(c);
  61. }
  62. }
  63. }

  运行结果:

C#全角、半角转换的更多相关文章

  1. C#全角半角转换函数

    Code#region 全角半角转换 /// <summary> /// 转全角的函数(SBC case) /// </summary> /// <param name= ...

  2. php字符串处理之全角半角转换

    半角全角的处理是字符串处理的常见问题,本文尝试为大家提供一个思路. 一.概念 全角字符unicode编码从65281~65374 (十六进制 0xFF01 ~ 0xFF5E)半角字符unicode编码 ...

  3. C#全角半角转换输出解决方法

    Microsoft.VisualBasic 命名空间 Strings 模块 StrConv 函数就具有大写/小写.全角/半角.中文简体/繁体等转换功能,字符串转换应该说是VB.NET的强项,是这样的: ...

  4. SQL 全角半角转换-(摘抄)

    /****** SQL转换全角/半角函数 开始******/ CREATE FUNCTION ConvertWordAngle ( @str NVARCHAR(4000), --要转换的字符串 @fl ...

  5. php 全角半角转换

    <?phpheader("Content-type: text/html; charset=utf-8");// 第一个参数:传入要转换的字符串// 第二个参数:取0,半角转 ...

  6. java 全角半角转换函数

    /** * 半角转全角 * @param input String. * @return 全角字符串. */ public static String ToSBC(String input) { ch ...

  7. PHP全角半角转换函数

    之前试过网上找的通过ASCII之类的字符替换,发现很多莫名其妙的问题.最后还是换成下面的字符替换方式了,把目前能找到的所有全角都列出来了一个个替换吧 /** * 全角字符转换为半角 * * @para ...

  8. 【python】 全角半角转换

    以输入为GB18030编码字符串为例: #把全角字符串转半角 def tobanjiao(string): ustring = string.decode('GB18030') rstring = & ...

  9. 提供对字符串的全角->半角,半角->全角转换

    package com.opslab.util.algorithmImpl; import com.opslab.util.StringUtil; /** * 提供对字符串的全角->半角,半角- ...

  10. python实现全角半角的相互转换

    缘起 在自然语言处理过程中,全角.半角的的不一致会导致信息抽取不一致,因此需要统一. 转换说明 全角半角转换说明 有规律(不含空格): 全角字符unicode编码从65281~65374 (十六进制 ...

随机推荐

  1. Oracle Metadata Management (OMM)元数据管理 12.2.1发布

    元数据管理元数据管理是解决大量关键业务和技术挑战的基础,这些挑战包括元数据实体有多少,上游数据变化的影响,在浏览器中提供友好的分析展现界面,或提供企业范围内的元数据现状分析和改进视图.OMM是一款基于 ...

  2. poj2253

    此题略坑,%.3lf用g++一直WA,c++过的 //Accepted 468 KB 16 ms #include <cstdio> #include <cstring> #i ...

  3. javaEE(web)SEO优化 Yahoo军规

    javaEE(web)SEO优化 Yahoo军规 1.尽可能减少HTTP请求数2.使用CDN3.添加Expire/Cache-Control头4.启用Gzip压缩5.将CSS房在页面最上方6.将Scr ...

  4. 多比(SVG/VML)图形控件多比(SVG/VML)图形拓扑图控件免费下载地址

    多比图形控件是一款基于Web(VML和SVG技术)的矢量图形控件, 类似于网页上的Visio控件拓扑图软件,是目前国内外最佳的基于web的工作流设计器.工作流流程监视器解决方案. 可广泛应用于包括:电 ...

  5. 如何在Kali Linux中搭建钓鱼热点

    文中提及的部分技术可能带有一定攻击性,仅供安全学习和教学用途,禁止非法使用! 0×00 实验环境 操作系统:Kali 1.0 (VM) FackAP: easy-creds 硬件:NETGEAR wg ...

  6. Java网络应用编程

    1,网络连接 (1)用户向服务器发送请求(Socket); (2)服务器向用户发送信息(ServerSocket),一直监听的话用.accept(); 2,信息发送与接收 (1)客户向服务器端发送信息 ...

  7. Lintcode Perfect Squares

    Given a positive integer n, find the least number of perfect square numbers (for example,1, 4, 9, 16 ...

  8. C++ Primer : 第十三章 : 拷贝控制示例

    /* Message.h */ #ifndef _MESSAGE_H_ #define _MESSAGE_H_ #include <iostream> #include <strin ...

  9. UDP信息接收与发送

    转载:http://www.cnblogs.com/sunev/archive/2012/08/08/2627247.html 一.摘要 总结基于C#的UDP协议的同步通信. 二.实验平台 Visua ...

  10. CF 628C --- Bear and String Distance --- 简单贪心

    CF 628C 题目大意:给定一个长度为n(n < 10^5)的只含小写字母的字符串,以及一个数d,定义字符的dis--dis(ch1, ch2)为两个字符之差, 两个串的dis为各个位置上字符 ...