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

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
字符串和字符数组之间的转换

字符串和字符数组之间的转换?2010-11-02 16:53:00|??分类:?C# .net 工具|举报|字号?订阅?字符串类?System.String?提供了一个?void ToCharArray()?方法,该方法可以实现字符串到字符数组的转换。如下例:?private?void?TestStringChars()?{???string?str =?mytest;???char[] chars = str.ToCharArray();???this.textBox1.Text =?;???this.textBox1.AppendText(Length of \mytest\ is ?+ str.Length +?\n);???this.textBox1.AppendText(Length of char array is ?+ chars.Length +?\n);???this.textBox1.AppendText(char[2] = ?+ chars[2] +?\n);???}? 例中以对转换转换到的字符数组长度和它的一个元素进行了测试,结果如下: Length of mytest is 6Length of char array is 6char[2] = t 可以看出,结果完全正确,这说明转换成功。那么反过来,要把字符数组转换成字符串又该如何呢?我们可以使用?System.String?类的构造函数来解决这个问题。System.String类有两个构造函数是通过字符数组来构造的,即?String(char[])?和String[char[], int, int)。后者之所以多两个参数,是因为可以指定用字符数组中的哪一部分来构造字符串。而前者则是用字符数组的全部元素来构造字符串。我们以前者为例,在?TestStringChars()?函数中输入如下语句:?char[] tcs = {t,?e,?s,?t,? ,?m,?e};???string?tstr =?new?String(tcs);??this.textBox1.AppendText(tstr = \ + tstr + \\n); 运行结果输入?tstr = test me,测试说明转换成功。实际上,我们在很多时候需要把字符串转换成字符数组只是为了得到该字符串中的某个字符。如果只是为了这个目的,那大可不必兴师动众的去进行转换,我们只需要使用?System.String?的?[]?运算符就可以达到目的。请看下例,再在TestStringChars()?函数中加入如如下语名:?char?ch = tstr[3];???this.textBox1.AppendText(\ + tstr + \[3] = ?+ ch.ToString());? 正确的输出是?test me[3] = t,经测试,输出正确。 6.?字符串和字节数组之间的转换 如果还想从?System.String?类中找到方法进行字符串和字节数组之间的转换,恐怕你会失望了。为了进行这样的转换,我们不得不借助另一个类:System.Text.Encoding。该类提供了?bye[] GetBytes(string)?方法将字符串转换成字节数组,还提供了?string GetString(byte[])?方法将字节数组转换成字符串。 System.Text.Encoding?类似乎没有可用的构造函数,但我们可以找到几个默认的?Encoding,即?Encoding.Default(获取系统的当前?ANSI?代码页的编码)、Encoding.ASCII(获取?7?位?ASCII?字符集的编码)、Encoding.Unicode(获取采用?Little-Endian?字节顺序的?Unicode?格式的编码)、Encoding.UTF7(获取?UTF-7?格式的编码)、Encoding.UTF8(获取UTF-8?格式的编码)?等。这里主要说说?Encoding.Default?和Encoding.Unicode?用于转换的区别。 在字符串转换到字节数组的过程中,Encoding.Default?会将每个单字节字符,如半角英文,转换成?1?个字节,而把每个双字节字符,如汉字,转换成?2个字节。而?Encoding.Unicode?则会将它们都转换成两个字节。我们可以通过下列简单的了解一下转换的方法,以及使用?Encoding.Default?和Encodeing.Unicode?的区别:private?void?TestStringBytes()?{???string?s =?C#语言;???byte[] b1 = System.Text.Encoding.Default.GetBytes(s);???byt

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档