+ İşleci (Visual Basic)

İki sayı ekler veya sayısal ifadenin pozitif değerini döndürür. İki dize ifadesini birleştirmek için de kullanılabilir.

Sözdizimi

expression1 + expression2

veya

+expression1  

Parça

Süre Tanım
expression1 Gerekli. Herhangi bir sayısal veya dize ifadesi.
expression2 İşleç + negatif bir değer hesaplamadığı sürece gereklidir. Herhangi bir sayısal veya dize ifadesi.

Sonuç

ve expression2 her ikisi de sayısalsaexpression1, sonuç bunların aritmetik toplamıdır.

yoksa expression2 , işleci bir + ifadenin değişmeyen değeri için birli kimlik işlecidir. Bu anlamda, işlem işaretinin korunmasından expression1oluşur, bu nedenle negatifse expression1 sonuç negatif olur.

ve expression2 her ikisi de dizeyseexpression1, sonuç değerlerinin birleştirilmiş halidir.

ve expression2 karma türlerdeyseexpression1, gerçekleştirilen eylem türlerine, içeriklerine ve Seçenek Katı Deyiminin ayarına bağlıdır. Daha fazla bilgi için "Açıklamalar" içindeki tablolara bakın.

Desteklenen Türler

İmzalanmamış ve kayan nokta türleri ve ve Decimaldahil olmak üzere tüm sayısal türler.String

Açıklamalar

Genel olarak, + mümkün olduğunda aritmetik toplama gerçekleştirir ve yalnızca her iki ifade de dize olduğunda birleştirir.

İfadelerden hiçbiri değilse Object, Visual Basic aşağıdaki eylemleri gerçekleştirir.

İfadelerin veri türleri Derleyiciye göre eylem
Her iki ifade de sayısal veri türleridir (SByte, Byte, Short, UShort, Integer, , UInteger, , SingleDecimalLongULongveya )Double Ekle. Sonuç veri türü, ve expression2veri türlerine uygun sayısal bir türdürexpression1. İşleç Sonuçlarının Veri Türleri'ndeki "Tamsayı Aritmetik" tablolarına bakın.
her iki ifade de türündedir String Arada.
İfadelerden biri sayısal veri türü, diğeri ise dizedir ise Option StrictOnbir derleyici hatası oluşturun.

ise Option StrictOff, öğesini örtük olarak dönüştürün StringDouble ve ekleyin.

olarak String dönüştürülemezse Double, bir InvalidCastException özel durum oluşturur.
İfadelerden biri sayısal veri türü, diğeri ise Nothing Nothing Sıfır olarak değerlenmiş olarak ekleyin.
İfadelerden biri dize, diğeri ise Nothing "" olarak değerlenmiş şekilde birleştirin Nothing .

Bir ifade bir Object ifadeyse, Visual Basic aşağıdaki eylemleri gerçekleştirir.

İfadelerin veri türleri Derleyiciye göre eylem
Object ifade sayısal bir değer barındırıyor ve diğeri sayısal veri türü ise Option StrictOnbir derleyici hatası oluşturun.

ise Option StrictOffekleyin.
Object ifade sayısal bir değer barındırıyor ve diğeri türünde String ise Option StrictOnbir derleyici hatası oluşturun.

ise Option StrictOff, öğesini örtük olarak dönüştürün StringDouble ve ekleyin.

olarak String dönüştürülemezse Double, bir InvalidCastException özel durum oluşturur.
Object ifade bir dizeyi barındırıyor ve diğeri sayısal veri türü ise Option StrictOnbir derleyici hatası oluşturun.

ise Option StrictOff, dizeyi ObjectDouble örtük olarak dönüştürün ve ekleyin.

Dize Object olarak dönüştürülemiyorsa Double, bir InvalidCastException özel durum oluşturun.
Object ifade bir dize barındırıyor ve diğeri türünde String ise Option StrictOnbir derleyici hatası oluşturun.

ise Option StrictOff, örtük olarak öğesine String dönüştürün Object ve birleştirin.

her iki ifade de ifadeyse Object , Visual Basic aşağıdaki eylemleri gerçekleştirir (Option Strict Off yalnızca).

İfadelerin veri türleri Derleyiciye göre eylem
her iki Object ifade de sayısal değerler barındırıyor Ekle.
her iki Object ifade de türündedir String Arada.
İfadelerden biri Object sayısal değer, diğeri bir dize barındırıyor Dizeyi ObjectDouble örtük olarak öğesine dönüştürün ve ekleyin.

Dize Object sayısal bir değere dönüştürülemiyorsa, bir InvalidCastException özel durum oluşturun.

İfadelerden biri Object Nothing veya DBNull+ olarak değerlendirilirse, işleç bunu "" değeriyle değerlendirirString.

Not

işlecini + kullandığınızda, toplamanın mı yoksa dize birleştirmenin mi gerçekleşeceğini belirleyemeyebilirsiniz. & Belirsizliği ortadan kaldırmak ve kendi kendine belgeleyen kod sağlamak için birleştirme için işlecini kullanın.

Aşırı Yükleme

İşleç + aşırı yüklenebilir, yani bir işlenen bu sınıf veya yapı türüne sahip olduğunda bir sınıf veya yapı davranışını yeniden tanımlayabilir. Kodunuz bu işleci böyle bir sınıf veya yapıda kullanıyorsa, yeniden tanımlanmış davranışını anladığınızdan emin olun. Daha fazla bilgi için bkz . İşleç Yordamları.

Örnek

Aşağıdaki örnek, sayı eklemek için işlecini + kullanır. İşlenenlerin ikisi de sayısalsa, Visual Basic aritmetik sonucu hesaplar. Aritmetik sonuç, iki işlenenin toplamını temsil eder.

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

Dizeleri birleştirmek için işlecini + de kullanabilirsiniz. İşlenenlerin her ikisi de dizeyse, Visual Basic bunları birleştirir. Birleştirme sonucu, iki işlenenin içeriğinden oluşan tek bir dizeyi temsil eder.

İşlenenler karışık türlerdeyse, sonuç Seçenek Katı Deyiminin ayarına bağlıdır. Aşağıdaki örnek, olduğunda Option StrictOnsonucu gösterir.

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. 

Aşağıdaki örnek, olduğunda Option StrictOffsonucu gösterir.

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.

Belirsizliği ortadan kaldırmak için birleştirme yerine + işlecini & kullanmanız gerekir.

Ayrıca bkz.