📅  最后修改于: 2023-12-03 14:51:15.659000             🧑  作者: Mango
在 C# 中,我们经常需要将 char
数组转换为字符串。这种转换可以通过不同的方法实现。本文将介绍一些常用的方法来实现这种转换。以下是不同方法的示例代码:
char[] charArray = { 'H', 'e', 'l', 'l', 'o' };
string str = new string(charArray);
这种方式使用 char
数组的构造函数直接创建一个字符串对象。其中 new string(char[] value)
构造函数将 char
数组作为参数,返回一个由该数组中的字符组成的字符串。
string
类的 Join()
方法char[] charArray = { 'H', 'e', 'l', 'l', 'o' };
string str = string.Join("", charArray);
这个方法使用 string
类的静态方法 Join(string separator, IEnumerable<string> values)
来连接字符数组中的所有字符。我们将 separator
参数设置为空字符串,以便将字符直接连接起来。
StringBuilder
类char[] charArray = { 'H', 'e', 'l', 'l', 'o' };
StringBuilder sb = new StringBuilder();
foreach (char c in charArray)
{
sb.Append(c);
}
string str = sb.ToString();
使用 StringBuilder
类来拼接字符是一种高效的方法,特别适用于处理大量的字符。我们可以使用 Append()
方法将每个字符追加到 StringBuilder
对象中,然后使用 ToString()
方法将其转换为字符串。
char[] charArray = { 'H', 'e', 'l', 'l', 'o' };
string str = new string(charArray.Select(c => c).ToArray());
使用 LINQ 是一种简洁的方法来将字符数组转换为字符串。我们可以使用 Select()
方法选择每个字符,然后使用 ToArray()
方法将结果转换为字符数组,最后使用 new string(char[] value)
构造函数创建字符串。
Marshal.PtrToStringAuto()
方法char[] charArray = { 'H', 'e', 'l', 'l', 'o' };
string str = Marshal.PtrToStringAuto(Marshal.UnsafeAddrOfPinnedArrayElement(charArray, 0));
这种方法使用了 Marshal
类,它提供了用于与非托管代码进行交互的方法。我们首先使用 Marshal.UnsafeAddrOfPinnedArrayElement()
方法获取字符数组的指针,然后将其传递给 Marshal.PtrToStringAuto()
方法来创建字符串。
以上是在 C# 中将 char
数组转换为字符串的一些常用方法。根据具体的需求和场景,选择合适的方法可以提高代码的可读性和效率。