Bagikan melalui


Dasar-Dasar String di Visual Basic

Tipe data String mewakili serangkaian karakter, yang masing-masing merupakan instans dari tipe data Char. Topik ini memperkenalkan konsep dasar string di Visual Basic.

Variabel String

Instans string dapat diberi nilai harfiah yang mewakili serangkaian karakter. Contohnya:

Dim MyString As String
MyString = "This is an example of the String data type"

Variabel String juga dapat menerima ekspresi apa pun yang dievaluasi ke string. Contoh ditunjukkan di bawah ini:

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"

Setiap literal yang ditetapkan ke variabel String harus diapit oleh tanda kutip (""). Ini berarti bahwa tanda kutip dalam string tidak dapat diwakili oleh tanda kutip. Misalnya, kode berikut menyebabkan kesalahan kompilator:

Dim myString As String

' This line would cause an error.
' myString = "He said, "Look at this example!""

Kode ini menyebabkan kesalahan karena pengkompilasi mengakhiri string setelah tanda kutip kedua, dan sisa string ditafsirkan sebagai kode. Untuk mengatasi masalah ini, Visual Basic menginterpretasikan dua tanda kutip dalam string literal sebagai satu tanda kutip dalam string. Contoh berikut menunjukkan cara yang benar untuk menyertakan tanda kutip dalam string:

' The value of myString is: He said, "Look at this example!"
myString = "He said, ""Look at this example!"""

Dalam contoh sebelumnya, dua tanda kutip sebelum kata Look menjadi satu tanda kutip dalam string. Tiga tanda kutip di akhir baris mewakili satu tanda kutip dalam string dan karakter akhir string.

Literal string dapat berisi beberapa baris:

Dim x = "hello  
world"  

String yang dihasilkan berisi urutan baris baru yang Anda gunakan dalam literal string Anda (vbcr, vbcrlf, dll.). Anda tidak perlu lagi menggunakan solusi lama:

Dim x = <xml><![CDATA[Hello  
World]]></xml>.Value  

Karakter dalam String

String dapat dianggap sebagai serangkaian Char nilai, dan jenisnya String memiliki fungsi bawaan yang memungkinkan Anda melakukan banyak manipulasi pada string yang menyerupai manipulasi yang diizinkan oleh array. Seperti semua array dalam .NET Framework, ini adalah array berbasis nol. Anda dapat merujuk ke karakter tertentu dalam string melalui Chars properti , yang menyediakan cara untuk mengakses karakter berdasarkan posisi di mana karakter tersebut muncul dalam string. Contohnya:

Dim myString As String = "ABCDE"
Dim myChar As Char

' The value of myChar is "D".
myChar = myString.Chars(3)

Dalam contoh di atas, Chars properti string mengembalikan karakter keempat dalam string, yaitu D, dan menetapkannya ke myChar. Anda juga bisa mendapatkan panjang string tertentu melalui Length properti . Jika Anda perlu melakukan beberapa manipulasi jenis array pada string, Anda dapat mengubahnya menjadi array dari instance Char menggunakan fungsi ToCharArray dari string tersebut. Contohnya:

Dim myString As String = "abcdefghijklmnop"
Dim myArray As Char() = myString.ToCharArray

Variabel myArray sekarang berisi array nilai Char, setiap elemen melambangkan karakter dari myString.

Ketidakberubahan String

String tidak dapat diubah, yang berarti nilainya tidak dapat diubah setelah dibuat. Namun, ini tidak mencegah Anda menetapkan lebih dari satu nilai ke variabel string. Pertimbangkan contoh berikut:

Dim myString As String = "This string is immutable"
myString = "Or is it?"

Di sini, variabel string dibuat, diberi nilai, lalu nilainya diubah.

Lebih khusus lagi, di baris pertama, instans jenis String dibuat dan diberi nilai This string is immutable. Di baris kedua contoh, instans baru dibuat dan diberi nilai Or is it?, dan variabel string membuang referensinya ke instans pertama dan menyimpan referensi ke instans baru.

Tidak seperti jenis data intrinsik lainnya, String adalah jenis referensi. Ketika variabel jenis referensi diteruskan sebagai argumen ke fungsi atau subroutine, referensi ke alamat memori tempat data disimpan diteruskan alih-alih nilai aktual string. Jadi dalam contoh sebelumnya, nama variabel tetap sama, tetapi menunjuk ke instans String kelas baru dan berbeda, yang menyimpan nilai baru.

Lihat juga