Bagikan melalui


Operator penambahan - + dan +=

Operator + dan += didukung oleh jenis numerik integral dan poin floating bawaan, jenis string, dan jenis delegasi.

Untuk informasi tentang operator aritmatika + , lihat bagian Operator plus dan minus Unary sertaOperator penambahan + dari artikel Operator aritmatika.

Perangkaian string

Ketika salah satu atau kedua operand berjenis string, operator + menggabungkan representasi string dari operannya (representasi string null adalah string kosong):

Console.WriteLine("Forgot" + "white space");
Console.WriteLine("Probably the oldest constant: " + Math.PI);
Console.WriteLine(null + "Nothing to add.");
// Output:
// Forgotwhite space
// Probably the oldest constant: 3.14159265358979
// Nothing to add.

Interpolasi string menyediakan cara yang lebih mudah untuk memformat string:

Console.WriteLine($"Probably the oldest constant: {Math.PI:F2}");
// Output:
// Probably the oldest constant: 3.14

Dimulai dengan C# 10, Anda dapat menggunakan interpolasi string untuk menginisialisasi string konstan ketika semua ekspresi yang digunakan untuk tempat penampung juga merupakan string konstan.

Dimulai dengan C# 11, + operator melakukan perangkaian string untuk string literal UTF-8. Operator ini menggabungkan dua ReadOnlySpan<byte> objek.

Kombinasi delegasi

Untuk operan dengan jenis delegasi yang sama, operator + mengembalikan instans delegasi baru yang, ketika dipanggil, memanggil operand sebelah kiri lalu memanggil operand sebelah kanan. Jika salah satu operand adalah null, operator + mengembalikan nilai operand lain (yang mungkin null juga). Contoh berikut menunjukkan bagaimana delegasi dapat dikombinasikan dengan operator +:

Action a = () => Console.Write("a");
Action b = () => Console.Write("b");
Action ab = a + b;
ab();  // output: ab

Untuk melakukan penghapusan delegasi, gunakan - operator.

Untuk informasi selengkapnya tentang jenis delegasi, lihat Delegasi.

Operator penugasan penambahan +=

Ekspresi menggunakan operator +=, seperti

x += y

setara dengan:

x = x + y

kecuali x hanya dievaluasi sekali.

Contoh berikut menunjukkan penggunaan operator +=:

int i = 5;
i += 9;
Console.WriteLine(i);
// Output: 14

string story = "Start. ";
story += "End.";
Console.WriteLine(story);
// Output: Start. End.

Action printer = () => Console.Write("a");
printer();  // output: a

Console.WriteLine();
printer += () => Console.Write("b");
printer();  // output: ab

Anda juga menggunakan operator += untuk menentukan metode penanganan aktivitas saat berlangganan peristiwa. Untuk informasi selengkapnya, lihat Cara berlangganan dan berhenti berlangganan dari peristiwa.

Kelebihan beban operator

Jenis yang ditentukan pengguna dapat membebani operator + secara berlebihan. Ketika operator + biner kelebihan beban, operator += juga secara implisit kelebihan beban. Jenis yang ditentukan pengguna tidak dapat secara eksplisit membebani += operator.

Spesifikasi bahasa C#

Untuk informasi selengkapnya, lihat bagian operator Unary plus dan Operator penambahandari spesifikasi bahasa C#.

Lihat juga