黑马程序员技术交流社区

标题: string和char类型相互转 [打印本页]

作者: 马林雷    时间: 2014-6-9 04:27
标题: string和char类型相互转
本帖最后由 马林雷 于 2014-6-9 13:54 编辑

还有string中的几个字符如何非配到string【】中
作者: 方杰斌    时间: 2014-6-9 09:08
你说的是这个意思吧:
static void Main(string[] args)
{
string str="1";
char c;
c=Convert.ToChar(str);
Console.WriteLine(c);
}
//string类型本来就可以看作一个char数组,如:
string str="ABCDE";
Console.WriteLine(str[3]);//输出D
foreach (char c in str)
Console.WriteLine(c);

//当然你也可以把它转换成真正的char数组,如:
char[] cs= s.ToCharArray(0,s.Length);
foreach (char c in cs)
Console.WriteLine(c);
//上面写错一点点
//string类型本来就可以看作一个char数组,如:
string str="ABCDE";
Console.WriteLine(str[3]);//输出D

foreach (char c in str)
Console.WriteLine(c);

//当然你也可以把它转换成真正的char数组,如:
char[] cs= str.ToCharArray(0,str.Length);
foreach (char c in cs)
Console.WriteLine(c);

--------------------------
C#中char[]与string互相转换的写法:
string 转换成 Char[]
string ss="abcdefg";
char[] cc=ss.ToCharArray();
Char[] 转换成string
string s=new string(cc);
此外,byte[] 与 string 之间的装换
byte[] bb=Encoding.UTF8.GetBytes(ss);
string s=Encoding.UTF8.GetString(bb);
下面我们利用 StringBuilder 来进行数组 与 string 间的转换 , 很简单,代码如下
using System.Text;
StringBuilder sb=new StringBuilder();
foreach(char c in cc)
{
sb.Append(c);
}
string s=sb.ToString();
StringBuilder 的 Append 方法支持多种参数,所以数组转换成string基本上都可以用它。
另外 string[] 转换成string,.Net框架提供了一个使用的方法
string strOr= "OR";
string result=string.Concat(new string[]{" A ",strOr," B ",Environment.NewLine," C ",strOr," D "});



作者: 马林雷    时间: 2014-6-9 09:38
方杰斌 发表于 2014-6-9 09:08
你说的是这个意思吧:
static void Main(string[] args)
{

谢谢很详细
作者: czwanglei    时间: 2014-6-9 10:38
当有人给你回复后,请及时把帖子设置为提问结束,这样,版主才给你加技术分
作者: 马林雷    时间: 2014-6-9 13:55
czwanglei 发表于 2014-6-9 10:38
当有人给你回复后,请及时把帖子设置为提问结束,这样,版主才给你加技术分 ...

恩 谢谢设置好了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2