Bagikan melalui


+ Operator (Visual Basic)

Menambahkan dua angka atau mengembalikan nilai positif ekspresi numerik. Juga dapat digunakan untuk menggabungkan dua ekspresi string.

Sintaksis

expression1 + expression2

atau

+expression1  

Bagian

Istilah Definisi
expression1 Dibutuhkan. Ekspresi numerik atau string apa pun.
expression2 Diperlukan kecuali + operator menghitung nilai negatif. Ekspresi numerik atau string apa pun.

Hasil

Jika expression1 dan expression2 keduanya numerik, hasilnya adalah jumlah aritmatika mereka.

Jika expression2 tidak ada, + operator adalah operator identitas unary untuk nilai ekspresi yang tidak berubah. Dalam pengertian ini, operasi terdiri dari mempertahankan tanda expression1, sehingga hasilnya negatif jika expression1 negatif.

Jika expression1 dan expression2 keduanya adalah string, hasilnya adalah perangkaian nilainya.

Jika expression1 dan expression2 merupakan jenis campuran, tindakan yang diambil tergantung pada jenisnya, kontennya, dan pengaturan Pernyataan Ketat Opsi. Untuk informasi selengkapnya, lihat tabel di "Komentar."

Jenis yang Didukung

Semua jenis numerik, termasuk jenis unsigned dan floating-point dan Decimal, dan String.

Komentar

Secara umum, + melakukan penambahan aritmatika jika memungkinkan, dan menggabungkan hanya ketika kedua ekspresi adalah string.

Jika tidak ada ekspresi yang merupakan Object, Visual Basic mengambil tindakan berikut.

Jenis ekspresi data Tindakan menurut pengkompilasi
Kedua ekspresi adalah jenis data numerik (SByte, , , ShortByte, UShort, Integer, UInteger, Long, ULong, Decimal, Singleatau Double) Tambah. Jenis data hasil adalah jenis numerik yang sesuai untuk jenis expression1 data dan expression2. Lihat tabel "Aritmatika Bilangan Bulat" di Tipe Data Hasil Operator.
Kedua ekspresi berjenis String Menggabungkan.
Satu ekspresi adalah jenis data numerik dan yang lainnya adalah string Jika Option Strict adalah On, maka hasilkan kesalahan kompilator.

Jika Option Strict adalah Off, maka secara implisit mengonversi ke StringDouble dan menambahkan.

String Jika tidak dapat dikonversi ke Double, maka berikan InvalidCastException pengecualian.
Satu ekspresi adalah jenis data numerik, dan yang lainnya adalah Tidak Ada Tambahkan, dengan Nothing nilai sebagai nol.
Satu ekspresi adalah string, dan yang lainnya adalah Nothing Menggabungkan, dengan Nothing nilai sebagai "".

Jika satu ekspresi adalah Object ekspresi, Visual Basic mengambil tindakan berikut.

Jenis ekspresi data Tindakan menurut pengkompilasi
Object ekspresi menyimpan nilai numerik dan yang lainnya adalah tipe data numerik Jika Option Strict adalah On, maka hasilkan kesalahan kompilator.

Jika Option Strict adalah Off, maka tambahkan.
Object ekspresi menyimpan nilai numerik dan yang lainnya berjenis String Jika Option Strict adalah On, maka hasilkan kesalahan kompilator.

Jika Option Strict adalah Off, maka secara implisit mengonversi ke StringDouble dan menambahkan.

String Jika tidak dapat dikonversi ke Double, maka berikan InvalidCastException pengecualian.
Object ekspresi menyimpan string dan yang lainnya adalah jenis data numerik Jika Option Strict adalah On, maka hasilkan kesalahan kompilator.

Jika Option Strict adalah Off, maka secara implisit mengonversi string Object ke Double dan menambahkan.

Jika string Object tidak dapat dikonversi ke Double, maka berikan InvalidCastException pengecualian.
Object ekspresi menyimpan string dan yang lainnya berjenis String Jika Option Strict adalah On, maka hasilkan kesalahan kompilator.

Jika Option Strict adalah Off, maka secara implisit mengonversi Object ke String dan menggabungkan.

Jika kedua ekspresi adalah Object ekspresi, Visual Basic mengambil tindakan berikut (Option Strict Off hanya).

Jenis ekspresi data Tindakan menurut pengkompilasi
Kedua Object ekspresi menyimpan nilai numerik Tambah.
Kedua Object ekspresi berjenis String Menggabungkan.
Satu Object ekspresi menyimpan nilai numerik dan ekspresi lainnya menyimpan string Konversi string Object secara implisit ke Double dan tambahkan.

Jika string Object tidak dapat dikonversi ke nilai numerik, maka berikan InvalidCastException pengecualian.

Jika ekspresi Object mengevaluasi ke Tidak Ada atau DBNull, + operator memperlakukannya sebagai String dengan nilai "".

Nota

Saat menggunakan + operator, Anda mungkin tidak dapat menentukan apakah penambahan atau perangkaian string akan terjadi. & Gunakan operator untuk penggalian untuk menghilangkan ambiguitas dan untuk memberikan kode dokumentasi mandiri.

Beban Berlebih

Operator + dapat kelebihan beban, yang berarti bahwa kelas atau struktur dapat menentukan kembali perilakunya ketika operand memiliki jenis kelas atau struktur tersebut. Jika kode Anda menggunakan operator ini pada kelas atau struktur seperti itu, pastikan Anda memahami perilaku yang ditentukan ulang. Untuk informasi selengkapnya, lihat Prosedur Operator.

Contoh

Contoh berikut menggunakan + operator untuk menambahkan angka. Jika operan keduanya numerik, Visual Basic menghitung hasil aritmatika. Hasil aritmatika mewakili jumlah dua operan.

Dim sumNumber As Integer
sumNumber = 2 + 2
sumNumber = 4257.04 + 98112
' The preceding statements set sumNumber to 4 and 102369.

Anda juga dapat menggunakan + operator untuk menggabungkan string. Jika operan adalah kedua string, Visual Basic menggabungkannya. Hasil perangkaian mewakili string tunggal yang terdiri dari konten dua operand satu demi satu.

Jika operand berasal dari jenis campuran, hasilnya tergantung pada pengaturan Pernyataan Ketat Opsi. Contoh berikut mengilustrasikan hasilnya ketika Option Strict adalah On.

Option Strict On
Dim var1 As String = "34"
Dim var2 As Integer = 6
Dim concatenatedNumber As Integer = var1 + var2
' The preceding statement generates a COMPILER ERROR. 

Contoh berikut mengilustrasikan hasilnya ketika Option Strict adalah Off.

Option Strict Off
Dim var1 As String = "34"
Dim var2 As Integer = 6
Dim concatenatedNumber As Integer = var1 + var2
' The preceding statement returns 40 after the string in var1 is
' converted to a numeric value. This might be an unexpected result.
' We do not recommend use of Option Strict Off for these operations.

Untuk menghilangkan ambiguitas, Anda harus menggunakan & operator alih-alih untuk penggalian + .

Lihat juga