Để nối chuỗi trong C#, bạn sử dụng phương thức String.Concat(). Phương thức này cho phép kết hợp nhiều chuỗi thành một chuỗi duy nhất một cách hiệu quả.
Cú pháp
public static string Concat(string str1, string str2);
Trong đó, str1 và str2 là các chuỗi cần nối với nhau.
Ví dụ 1: Nối hai chuỗi đơn giản
using System;
public class Demo
{
public static void Main(string[] args)
{
string str1 = "Jack";
string str2 = "Sparrow";
Console.WriteLine("Chuỗi 1 = " + str1);
Console.WriteLine("Mã băm của Chuỗi 1 = " + str1.GetHashCode());
Console.WriteLine("Chuỗi 1 có bắt đầu bằng 'E'? = " + str1.StartsWith("E"));
Console.WriteLine("\nChuỗi 2 = " + str2);
Console.WriteLine("Mã băm của Chuỗi 2 = " + str2.GetHashCode());
Console.WriteLine("Chuỗi 2 có bắt đầu bằng 'E'? = " + str2.StartsWith("E"));
Console.WriteLine("\nChuỗi 1 có bằng Chuỗi 2? = {0}", str1.Equals(str2));
Console.WriteLine("Kết quả nối = " + String.Concat(str1, str2));
}
}
Kết quả
Chuỗi 1 = Jack Mã băm của Chuỗi 1 = 1167841345 Chuỗi 1 có bắt đầu bằng 'E'? = False Chuỗi 2 = Sparrow Mã băm của Chuỗi 2 = -359606417 Chuỗi 2 có bắt đầu bằng 'E'? = False Chuỗi 1 có bằng Chuỗi 2? = False Kết quả nối = JackSparrow
Ví dụ 2: Nối mảng chuỗi với tham số params
Phương thức Concat() cũng hỗ trợ nạp chồng với tham số params string[] để nối toàn bộ mảng chuỗi.
Cú pháp
public static string Concat(params string[] arr);
Tham số arr là mảng chuỗi cần nối.
Mã nguồn
using System;
public class Demo
{
public static void Main(string[] args)
{
string[] strArr = { "This", "is", "it", "!" };
Console.WriteLine("Mảng chuỗi...");
foreach (string s in strArr)
{
Console.WriteLine(s);
}
Console.WriteLine("Kết quả nối = {0}", string.Concat(strArr));
// So sánh với String.Join để thêm dấu phân cách
string str = string.Join("/", strArr);
Console.WriteLine("Kết quả (sau khi Join) = " + str);
}
}
Kết quả
Mảng chuỗi... This is it ! Kết quả nối = Thisisit! Kết quả (sau khi Join) = This/is/it/!
Lưu ý quan trọng
String.Concatkhông thêm bất kỳ ký tự phân cách nào giữa các chuỗi.- Nếu cần thêm dấu phân cách, hãy sử dụng
String.Join. - Phương thức này trả về chuỗi mới, không thay đổi chuỗi gốc (vì chuỗi trong C# là bất biến).
- Hiệu suất tốt hơn so với toán tử
+khi nối nhiều chuỗi trong vòng lặp.