Visual Basic'de Dize Temelleri
Veri String
türü bir dizi karakteri temsil eder (her biri sırayla veri türünün bir örneğini Char
temsil eder). Bu konu, Visual Basic'teki dizelerin temel kavramlarını tanıtır.
Dize Değişkenleri
Dizenin bir örneğine, bir dizi karakteri temsil eden bir değişmez değer atanabilir. Örneğin:
Dim MyString As String
MyString = "This is an example of the String data type"
Bir String
değişken, bir dizeyi değerlendiren tüm ifadeleri de kabul edebilir. Aşağıda örnekler gösterilmektedir:
Dim OneString As String
Dim TwoString As String
OneString = "one, two, three, four, five"
' Evaluates to "two".
TwoString = OneString.Substring(5, 3)
OneString = "1"
' Evaluates to "11".
TwoString = OneString & "1"
Bir String
değişkene atanan tüm değişmez değerler tırnak işareti ("") içine alınmalıdır. Bu, bir dize içindeki tırnak işaretinin tırnak işaretiyle temsil edilemeyeceği anlamına gelir. Örneğin, aşağıdaki kod derleyici hatasına neden olur:
Dim myString As String
' This line would cause an error.
' myString = "He said, "Look at this example!""
Derleyici ikinci tırnak işaretinden sonra dizeyi sonlandırdığından ve dizenin geri kalanı kod olarak yorumlandığından bu kod bir hataya neden olur. Bu sorunu çözmek için Visual Basic, dize değişmez değerindeki iki tırnak işaretini dizede bir tırnak işareti olarak yorumlar. Aşağıdaki örnek, bir dizeye tırnak işareti eklemenin doğru yolunu gösterir:
' The value of myString is: He said, "Look at this example!"
myString = "He said, ""Look at this example!"""
Yukarıdaki örnekte, sözcüğün Look
önündeki iki tırnak işareti dizede bir tırnak işaretine dönüşür. Satırın sonundaki üç tırnak işareti, dizedeki bir tırnak işaretini ve dize sonlandırma karakterini temsil ediyor.
Dize değişmez değerleri birden çok satır içerebilir:
Dim x = "hello
world"
Sonuçta elde edilen dize, dize değişmez değerinizde (vbcr, vbcrlf vb.) kullandığınız yeni satır dizilerini içerir. Artık eski geçici çözümü kullanmanız gerekmez:
Dim x = <xml><![CDATA[Hello
World]]></xml>.Value
Dizelerdeki Karakterler
Bir dize bir dizi Char
değer olarak düşünülebilir ve String
türü, dizilerin izin verdiği işlemelere benzeyen bir dize üzerinde birçok işleme gerçekleştirmenize olanak sağlayan yerleşik işlevlere sahiptir. .NET Framework'teki tüm diziler gibi bunlar da sıfır tabanlı dizilerdir. Bir dizedeki belirli bir karaktere, dizede göründüğü konuma göre bir karaktere erişmek için bir yol sağlayan özelliği aracılığıyla Chars
başvurabilirsiniz. Örneğin:
Dim myString As String = "ABCDE"
Dim myChar As Char
' The value of myChar is "D".
myChar = myString.Chars(3)
Yukarıdaki örnekte, Chars
dizenin özelliği dizedeki dördüncü karakteri döndürür; yani D
, ve bunu öğesine myChar
atar. Ayrıca özelliği aracılığıyla Length
belirli bir dizenin uzunluğunu da alabilirsiniz. Bir dizede birden çok dizi türü işlemesi gerçekleştirmeniz gerekiyorsa, dizenin ToCharArray
işlevini kullanarak bunu bir örnek dizisine Char
dönüştürebilirsiniz. Örneğin:
Dim myString As String = "abcdefghijklmnop"
Dim myArray As Char() = myString.ToCharArray
Değişkeni myArray
artık her biri 'den Char
myString
bir karakteri temsil eden bir değer dizisi içeriyor.
Dizelerin Değişmezliği
Bir dize sabittir, yani değeri oluşturulduktan sonra değiştirilemez. Ancak bu, bir dize değişkenine birden fazla değer atamanızı engellemez. Aşağıdaki örneği inceleyin:
Dim myString As String = "This string is immutable"
myString = "Or is it?"
Burada, bir değer verildiğinde bir dize değişkeni oluşturulur ve değeri değiştirilir.
Daha açık belirtmek gerekirse, ilk satırda bir tür String
örneği oluşturulur ve değeri This string is immutable
verilir. Örneğin ikinci satırında yeni bir örnek oluşturulur ve değeri Or is it?
verilir ve dize değişkeni ilk örneğe başvurusunu atar ve yeni örneğe bir başvuru depolar.
Diğer iç veri türlerinden farklı olarak bir String
başvuru türüdür. Başvuru türündeki bir değişken bir işleve veya alt yordama bağımsız değişken olarak geçirildiğinde, dizenin gerçek değeri yerine verilerin depolandığı bellek adresine başvuru geçirilir. Bu nedenle, önceki örnekte değişkenin adı aynı kalır, ancak yeni değeri tutan sınıfın String
yeni ve farklı bir örneğine işaret eder.
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin