Bagikan melalui


Operator penambahan - + dan +=

Jenis-jenis numerik integral dan floating-point bawaan, tipe string, dan tipe delegasi semuanya mendukung operator-operator dan .

Untuk informasi tentang operator aritmatika +, lihat bagian operator unary plus dan minus serta bagian operator penambahan + dalam artikel operator aritmatika .

Penggabungan string

Ketika satu atau kedua operand berjenis string, operator + menggabungkan representasi string dari operand-nya (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 nyaman untuk memformat string:

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

Anda dapat menggunakan interpolasi string untuk menginisialisasi konstanta string ketika semua ekspresi yang digunakan sebagai pengganti juga merupakan konstanta string.

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

Mendelegasikan kombinasi

Untuk operan dari jenis delegasi yang sama, operator + mengembalikan instans delegasi baru yang, saat dipanggil, memanggil operan sebelah kiri lalu memanggil operan sebelah kanan. Jika salah satu operand null, operator + mengembalikan nilai operand lain (yang mungkin juga null). 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 bahwa 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 membatalkan langganan dari acara.

Kelebihan beban operator

Jenis yang ditentukan pengguna dapat kelebihan beban operator +. Ketika operator + biner kelebihan beban, operator += juga secara implisit kelebihan beban. Dimulai dengan C# 14, jenis yang ditentukan pengguna dapat secara eksplisit membebani += operator untuk memberikan implementasi yang lebih efisien. Biasanya, tipe melakukan overload pada operator += karena nilainya dapat diperbarui langsung di tempat, daripada mengalokasikan instans baru untuk menampung hasil penambahan. Jika jenis tidak memberikan kelebihan beban eksplisit, pengkompilasi menghasilkan kelebihan beban implisit.

Spesifikasi bahasa C#

Untuk informasi selengkapnya, lihat bagian operator Unary plus dan operator Penambahan dalam spesifikasi bahasa C# . Untuk informasi selengkapnya tentang kelebihan beban operator penetapan majemuk di C# 14 dan yang lebih baru, lihat spesifikasi fitur penetapan majemuk yang ditentukan pengguna .

Lihat juga