📅  最后修改于: 2023-12-03 15:09:30.996000             🧑  作者: Mango
在 C# 中,我们可以使用 String
类来处理字符串。如果我们需要将一个 char[]
数组转换为字符串,可以使用 String
的构造函数或ToString
方法。
char[] charArray = {'H', 'e', 'l', 'l', 'o'};
string str = new String(charArray);
Console.WriteLine(str); // output: "Hello"
上面的代码创建了一个 char
数组 charArray
,然后使用 String
的构造函数将其转换为字符串并输出。这里需要注意的是,String
构造函数所接收的参数是一个 char[]
数组,我们也可以使用长度不定的参数列表来传递 char
类型的值来构造字符串。
string str = new String('H', 5);
Console.WriteLine(str); // output: "HHHHH"
上面的代码使用了构造函数的另一种形式,接收一个 char
和一个整数值,这里的 5
表示构造一个有 5
个 H
的字符串。
char[] charArray = {'W', 'o', 'r', 'l', 'd'};
string str = charArray.ToString();
Console.WriteLine(str); // output: "System.Char[]"
在上面的代码中,我们试图使用 ToString
方法将 char[]
数组转换为字符串,但看到输出的结果是 System.Char[]
,这是因为 charArray
所调用的 ToString
方法是从 Object
类继承而来的,它并不知道如何将 char[]
转换成字符串。那么我们应该怎么做呢?我们可以将 charArray
转换成一个字符串数组,然后使用 String.Join
方法将它们连接成一个字符串。
char[] charArray = {'W', 'o', 'r', 'l', 'd'};
string[] strArray = Array.ConvertAll(charArray, c => c.ToString());
string str = String.Join("", strArray);
Console.WriteLine(str); // output: "World"
上面的代码使用了 Array.ConvertAll
方法将 charArray
转换为 string[]
,然后使用 String.Join
方法将它们连接成一个字符串。这里需要注意的是,第一个参数是字符串的分隔符,这里我们使用了空字符串。如果我们需要在每个字符之间添加一个空格,可以使用 " "
(含有一个空格的字符串)作为分隔符。
char[] charArray = {'W', 'o', 'r', 'l', 'd'};
string[] strArray = Array.ConvertAll(charArray, c => c.ToString());
string str = String.Join(" ", strArray);
Console.WriteLine(str); // output: "W o r l d"
总结一下,将 char[]
转换为字符串的方法有两种,一种是使用 String
的构造函数,另一种是将 char[]
转换为 string[]
,然后使用 String.Join
方法将它们连接成一个字符串。如果转换失败,请检查代码是否正确。