字符串和字符数组之间的转换

字符串和字符数组之间的转换

ID:34563112

大小:29.27 KB

页数:8页

时间:2019-03-08

字符串和字符数组之间的转换_第1页
字符串和字符数组之间的转换_第2页
字符串和字符数组之间的转换_第3页
字符串和字符数组之间的转换_第4页
字符串和字符数组之间的转换_第5页
资源描述:

《字符串和字符数组之间的转换》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、字符串和字符数组之间的转换  2010-11-0216:53:00

2、  分类: C#.net工具

3、举报

4、字号 订阅 字符串类 System.String 提供了一个 voidToCharArray() 方法,该方法可以实现字符串到字符数组的转换。如下例:   private void TestStringChars() {     string str= "mytest";     char[]chars=str.ToCharArray();     this.textBox1.Text= "";     this.textBox1.

5、AppendText("Lengthof"mytest"is" +str.Length+ "");     this.textBox1.AppendText("Lengthofchararrayis" +chars.Length+ "");     this.textBox1.AppendText("char[2]=" +chars[2]+ "");   }   例中以对转换转换到的字符数组长度和它的一个元素进行了测试,结果如下:  Lengthof"mytest"is6Lengthofchararrayis6char

6、[2]=t  可以看出,结果完全正确,这说明转换成功。那么反过来,要把字符数组转换成字符串又该如何呢?我们可以使用 System.String 类的构造函数来解决这个问题。System.String类有两个构造函数是通过字符数组来构造的,即 String(char[]) 和String[char[],int,int)。后者之所以多两个参数,是因为可以指定用字符数组中的哪一部分来构造字符串。而前者则是用字符数组的全部元素来构造字符串。我们以前者为例,在 TestStringChars() 函数中输入如下语句: char[]tcs={'t

7、', 'e', 's', 't', '', 'm', 'e'};   string tstr= new String(tcs);  this.textBox1.AppendText("tstr=""+tstr+""");  运行结果输入 tstr="testme",测试说明转换成功。实际上,我们在很多时候需要把字符串转换成字符数组只是为了得到该字符串中的某个字符。如果只是为了这个目的,那大可不必兴师动众的去进行转换,我们只需要使用 System.String 的 [] 运算符就可以达到目的。请看下例,再在TestStringC

8、hars() 函数中加入如如下语名: char ch=tstr[3];   this.textBox1.AppendText("""+tstr+""[3]=" +ch.ToString());   正确的输出是 "testme"[3]=t,经测试,输出正确。  6. 字符串和字节数组之间的转换  如果还想从 System.String 类中找到方法进行字符串和字节数组之间的转换,恐怕你会失望了。为了进行这样的转换,我们不得不借助另一个类:System.Text.Encoding。该类提供了 bye[]GetBytes(string

9、) 方法将字符串转换成字节数组,还提供了 stringGetString(byte[]) 方法将字节数组转换成字符串。  System.Text.Encoding 类似乎没有可用的构造函数,但我们可以找到几个默认的 Encoding,即 Encoding.Default(获取系统的当前 ANSI 代码页的编码)、Encoding.ASCII(获取 7 位 ASCII 字符集的编码)、Encoding.Unicode(获取采用 Little-Endian 字节顺序的 Unicode 格式的编码)、Encoding.UTF7(获取 UTF

10、-7 格式的编码)、Encoding.UTF8(获取UTF-8 格式的编码) 等。这里主要说说 Encoding.Default 和Encoding.Unicode 用于转换的区别。  在字符串转换到字节数组的过程中,Encoding.Default 会将每个单字节字符,如半角英文,转换成 1 个字节,而把每个双字节字符,如汉字,转换成 2个字节。而 Encoding.Unicode 则会将它们都转换成两个字节。我们可以通过下列简单的了解一下转换的方法,以及使用 Encoding.Default 和Encodeing.Unicode 

11、的区别:private void TestStringBytes() {      string s= "C#语言";      byte[]b1=System.Text.Encoding.Default.GetByte

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。