📜  将 char[] 转换为字符串 c# (1)

📅  最后修改于: 2023-12-03 15:09:30.996000             🧑  作者: Mango

将 char[] 转换为字符串 c#

在 C# 中,我们可以使用 String 类来处理字符串。如果我们需要将一个 char[] 数组转换为字符串,可以使用 String 的构造函数或ToString 方法。

使用 String 的构造函数
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 表示构造一个有 5H 的字符串。

使用 ToString 方法
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 方法将它们连接成一个字符串。如果转换失败,请检查代码是否正确。