C#.NET 字符串怎么转成数组,数组又怎么转字符串

在 C#.NET 中,处理字符串和数组之间的转换是一个常见的操作。以下是详细的解决方案,涵盖了如何将字符串转换为数组,以及如何将数组转换回字符串。

1. 将字符串转换为数组

1.1 字符串到字符数组

如果你需要将字符串转换为字符数组,可以使用 ToCharArray() 方法:

csharp
string str = "Hello, World!"; char[] charArray = str.ToCharArray();

1.2 字符串到字节数组

如果你需要将字符串转换为字节数组(例如在处理文件或网络传输时),可以使用 Encoding 类中的方法:

csharp
using System.Text; string str = "Hello, World!"; byte[] byteArray = Encoding.UTF8.GetBytes(str);

Encoding.UTF8.GetBytes 方法将字符串转换为 UTF-8 编码的字节数组。你也可以使用其他编码方式,如 Encoding.ASCII.GetBytesEncoding.Unicode.GetBytes

1.3 字符串到分割数组

如果你需要将字符串按照特定的分隔符分割成数组,可以使用 Split() 方法:

csharp
string str = "apple,banana,cherry"; string[] strArray = str.Split(',');

在这个示例中,字符串按照逗号分割成一个字符串数组。

2. 将数组转换为字符串

2.1 字符数组到字符串

如果你有一个字符数组并想将其转换为字符串,可以使用 string 类的构造函数:

csharp
char[] charArray = { 'H', 'e', 'l', 'l', 'o' }; string str = new string(charArray);

2.2 字节数组到字符串

要将字节数组转换为字符串,可以使用 Encoding 类中的 GetString() 方法:

csharp
using System.Text; byte[] byteArray = { 72, 101, 108, 108, 111 }; // 字节表示 "Hello" string str = Encoding.UTF8.GetString(byteArray);

2.3 字符串数组到单一字符串

如果你有一个字符串数组,并想将其连接成一个单一字符串,可以使用 string.Join() 方法:

csharp
string[] strArray = { "apple", "banana", "cherry" }; string str = string.Join(",", strArray);

在这个示例中,数组中的每个字符串都通过逗号连接成一个新的字符串。

3. 示例代码

下面是一个完整的示例,展示了字符串与数组之间的转换:

csharp
using System; using System.Text; class Program { static void Main() { // 字符串到字符数组 string str = "Hello, World!"; char[] charArray = str.ToCharArray(); Console.WriteLine("Character Array: " + string.Join(", ", charArray)); // 字符串到字节数组 byte[] byteArray = Encoding.UTF8.GetBytes(str); Console.WriteLine("Byte Array: " + string.Join(", ", byteArray)); // 字符串到分割数组 string commaSeparated = "apple,banana,cherry"; string[] strArray = commaSeparated.Split(','); Console.WriteLine("String Array: " + string.Join(" | ", strArray)); // 字符数组到字符串 string newStrFromCharArray = new string(charArray); Console.WriteLine("String from Char Array: " + newStrFromCharArray); // 字节数组到字符串 string newStrFromByteArray = Encoding.UTF8.GetString(byteArray); Console.WriteLine("String from Byte Array: " + newStrFromByteArray); // 字符串数组到单一字符串 string joinedStr = string.Join(" | ", strArray); Console.WriteLine("Joined String: " + joinedStr); } }

4. 总结

在 C#.NET 中,可以使用 ToCharArray() 将字符串转换为字符数组,使用 Encoding 类将字符串转换为字节数组,使用 Split() 将字符串分割为字符串数组。将数组转换回字符串,可以使用 new string()Encoding.GetString()string.Join() 方法来实现。这些方法使得字符串和数组之间的转换变得简单而直观。

关键字

C#, .NET, 字符串转换, 数组转换, ToCharArray, Encoding.UTF8.GetBytes, Split(), string.Join(), new string(), Encoding.GetString