Tạo chuỗi từ mảng char[] bằng constructor new string(char[]) hoặc các phương thức khác.
Mã nguồn
using System;
namespace Demo {
class MyApplication {
static void Main(string[] args) {
char[] ch = new char[5];
ch[0] = 'H';
ch[1] = 'e';
ch[2] = 'l';
ch[3] = 'l';
ch[4] = 'o';
// Cách 1: Constructor string(char[])
string myChar = new string(ch);
Console.WriteLine("Chuyển thành chuỗi = {0}", myChar);
}
}
}
Kết quả
Chuyển thành chuỗi = Hello
Các cách khác
| Phương pháp | Cú pháp | Ghi chú |
|---|---|---|
| Constructor | new string(charArray) | Phổ biến nhất, copy dữ liệu |
| String.Join | string.Join("", charArray) | Cho phép phân cách |
| String.Concat | string.Concat(charArray) | Nối nhanh, .NET Core tối ưu |
| new StringBuilder | new StringBuilder().Append(charArray).ToString() | Hiệu quả nếu build dần |
| Char array slice | new string(charArray, startIndex, length) | Lấy đoạn con |
Ví dụ constructor có offset/length
char[] chars = { 'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd' };
string word = new string(chars, 0, 5); // "Hello"
string world = new string(chars, 6, 5); // "World"
Lưu ý
- Constructor
new string(char[])copy dữ liệu — an toàn, mảng gốc thay đổi không ảnh hưởng chuỗi. - Chuỗi trong C# là immutable — sau khi tạo không thể sửa đổi.
- Để build chuỗi động hiệu quả: dùng
StringBuilder. string.Create(.NET Core 2.1+) cho zero-allocation với span.