网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计资源 > .Net编程 > 正文

C#文本处理(字符)

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

一、字符

  在.NET中,字符采用16位Unicode编码,一个字符有一个System.Char结构(值类型)表示。它提供两个常数字段:MinValue(定义为0x0000)和MaxValue(定义为0xFFFF)。

  给定一个char实例作为参数,我们可以调用char的静态方法GetUnicodeCategory返回一个System.Globalization.UnicodeCategory枚举值,可以根据该枚举值来判断字符的类型(是否是数字。是否是标点符号。。。。。。。。。)

代码

  1. namespace CharStudy 
  2.     class Program 
  3.     { 
  4.         static void Main(string args) 
  5.         { 
  6.            Console.WriteLine( char.GetUnicodeCategory('c')); 
  7.            Console.WriteLine(char.GetUnicodeCategory('4')); 
  8.            Console.WriteLine(char.GetUnicodeCategory(',')); 
  9.            Console.WriteLine(char.GetUnicodeCategory('A')); 
  10.            Console.WriteLine(char.GetUnicodeCategory('content#39;)); 
  11.         } 
  12.     } 

上面代码的输出值为

char有一些静态方法,专门用于判断字符的类型,eg.IsDigit,IsLetter,IsUpper,IsLower这些方法在内部实现的时候都调用了GetUnicodeCategory,并简单的返回true或false,这些静态方法接受的参数或者为一个字符,或者为一个string和该string中的一个字符的索引。

代码

  1. namespace CharStudy 
  2.     class Program 
  3.     { 
  4.         static void Main(string args) 
  5.         { 
  6.            Console.WriteLine(char.IsDigit('4'));//输出为true 
  7.            Console.WriteLine(char.IsDigit("heaiping",3));//输出为false 
  8.            Console.WriteLine(char.IsDigit('c'));//输出为false 
  9.  
  10.         } 
  11.     } 

其他类似方法不再一一演示。

  char还有一个静态方法GetNumericValue,返回一个字符对应的数值形式。

代码

  1. namespace CharStudy 
  2.     class Program 
  3.     { 
  4.         static void Main(string args) 
  5.         { 
  6.             double d; 
  7.             d = char.GetNumericValue('\u0033'); 
  8.             Console.WriteLine(d.ToString());//3 
  9.  
  10.             d = char.GetNumericValue('\u00bc'); 
  11.             Console.WriteLine(d.ToString());//0.25 
  12.         } 
  13.     } 

需要特殊说明的是ToUpper和ToLower,他们将字符床转换为相应的大写和小写形式。这些方法在做字符串转换时会调用到与线程相关的语言文化信息(System.Threading.Thread.CurrentCulture属性),或者可以用其重载函数直接传递以恶搞System.Globalization.CultrueInfo实例来指定文化信息,因为在不同的文化下大小写的方式是不一样的。

  char类型提供的实力方法,Equal方法用于比较16位的unicode,CompareTo方法同样是根据unicode来比较的,这两种比较与语言文化没有关系。

  .net提供了三种技巧用于数值和char实例之间的转换,分别为:

转型,效率最高,缺点是它要求我们的编译器要将期望转换的数值类型看作基元类型。
使用Convert类型,如果在转换过程中出现了数据丢失,将会抛出OverflowException
使用IConvertible接口,char类型和所有的数值类型均实现了该接口,但是在数值类型上面调用该方法会产生装箱操作,所以效率最低。
代码演示:

代码

  1. namespace CharStudy 
  2.     class Program 
  3.     { 
  4.         static void Main(string args) 
  5.         { 
  6.             char c; 
  7.             int n; 
  8.             //使用转型 
  9.             c = (char)65; 
  10.             Console.WriteLine(c);//显示A 
  11.  
  12.             n = (int)c; 
  13.             Console.WriteLine(n);//65 
  14.  
  15.             //使用COnvert 
  16.             c = Convert.ToChar(n); 
  17.             Console.WriteLine(c);//A 
  18.  
  19.             n = Convert.ToInt32(n);//65 
  20.             Console.WriteLine(n); 
  21.  
  22.             //演示关于Convert对于超范围的检查 
  23.             try 
  24.             { 
  25.                 c = Convert.ToChar(70000);//超出16位 
  26.                 Console.WriteLine(c); 
  27.             } 
  28.             catch 
  29.             { 
  30.                 Console.WriteLine("overflow"); 
  31.             } 
  32.  
  33.             //使用IConvertible 
  34.             c = ((IConvertible)65).ToChar(null); 
  35.             Console.WriteLine(c);//A 
  36.  
  37.             n = ((IConvertible)c).ToInt32(null); 
  38.             Console.WriteLine(n);//64 
  39.  
  40.  
  41.         } 
  42.     } 

对于char的好多方法平时用的比较少,今天总算有个了解了

  • 上一篇资讯: C#MD5,RC2,DES加密类
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师