Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

วิธีแปลงอาร์เรย์ตัวอักษรเป็นสตริงใน C#

การแปลงอาร์เรย์ตัวอักษร (char[]) เป็นสตริงใน C#

ใน C# สามารถแปลงอาร์เรย์ของตัวอักษร (char[]) เป็นสตริงได้โดยตรงผ่านคอนสตรัคเตอร์ของคลาส string

ตัวอย่างโค้ด

using System;

class Program
{
    static void Main()
    {
        // สร้างอาร์เรย์ตัวอักษร
        char[] arr = new char[5];
        arr[0] = 'Y';
        arr[1] = 'E';
        arr[2] = 'S';
        // arr[3] และ arr[4] จะเป็น '\0' (null character) โดยอัตโนมัติ

        // แปลงเป็นสตริง
        string res = new string(arr);

        Console.WriteLine($"ผลลัพธ์: '{res}'");
        Console.WriteLine($"ความยาว: {res.Length}");
    }
}

ผลลัพธ์

ผลลัพธ์: 'YES'
ความยาว: 5

คำอธิบายสำคัญ

  • คอนสตรัคเตอร์ new string(char[]) จะนำตัวอักษรทั้งหมดในอาร์เรย์มารวมกัน
  • หากอาร์เรย์มีขนาดใหญ่กว่าจำนวนตัวอักษรที่กำหนด จะมี null character (\0) ต่อท้าย
  • สามารถใช้ new string(arr, startIndex, length) เพื่อระบุช่วงที่ต้องการ

วิธีอื่นๆ

// 1. ใช้ string.Join (สำหรับ string[])
string[] strArr = { "Y", "E", "S" };
string result1 = string.Join("", strArr);

// 2. ใช้ StringBuilder (เหมาะสำหรับการต่อสตริงหลายครั้ง)
var sb = new System.Text.StringBuilder();
foreach (char c in arr) sb.Append(c);
string result2 = sb.ToString();

// 3. ใช้ LINQ
string result3 = new string(arr.Where(c => c != '\0').ToArray());

แปลงสตริงกลับเป็น char[]

string str = "HELLO";
char[] charArray = str.ToCharArray();