Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Toán tử nối chuỗi (+) trong C#

Trong C#, toán tử + được nạp chồng cho kiểu string để thực hiện nối chuỗi (concatenation). Đây là cách phổ biến nhất để kết hợp nhiều chuỗi.

Ví dụ cơ bản

char[] c1 = { 'H', 'e', 'n', 'r', 'y' };
string str1 = new string(c1);  // "Henry"

char[] c2 = { 'J', 'a', 'c', 'k' };
string str2 = new string(c2);  // "Jack"

string result = "Welcome " + str1 + " and " + str2 + "!";
// "Welcome Henry and Jack!"

Mã nguồn hoàn chỉnh

using System.Text;
using System;

class Program
{
    static void Main()
    {
        char[] c1 = { 'H', 'e', 'n', 'r', 'y' };
        string str1 = new string(c1);
        
        char[] c2 = { 'J', 'a', 'c', 'k' };
        string str2 = new string(c2);
        
        Console.WriteLine("Welcome " + str1 + " and " + str2 + "!");
    }
}

Kết quả

Welcome Henry and Jack!

Các cách nối chuỗi trong C#

CáchVí dụHiệu suấtĐộ đọc
Toán tử +a + b + cTốt cho vài chuỗiCao
String.ConcatString.Concat(a, b, c)Tốt, không tạo trung gianTrung bình
String.JoinString.Join(",", arr)Tốt cho mảng/collectionCao
StringBuildersb.Append(a).Append(b)Tốt nhất cho nhiều lần nối/lặpThấp hơn
String Interpolation$"{a} {b} {c}"Tốt (biên dịch thành String.Concat/Format)Cao nhất

Lưu ý hiệu suất

  • Chuỗi (string) trong C# bất biến (immutable) - mỗi lần nối tạo chuỗi mới.
  • Trong vòng lặp, luôn dùng StringBuilder.
  • Ngoài vòng lặp, + hoặc $"" đều tốt (biên dịch tối ưu).

Ví dụ StringBuilder cho vòng lặp

var sb = new StringBuilder();
for (int i = 0; i < 1000; i++)
    sb.Append(i).Append(',');
string result = sb.ToString();