String
ในบทนี้ คุณจะได้เรียนรู้เกี่ยวกับ string ในภาษา Visual Basic เพราะว่า string นั้นมีเนื้อหาและรายละเอียดค่อนข้างมากสำหรับการเขียนโปรแกรม ดังนั้นเราจึงแบ่งเนื้อหาสำหรับพูดเรื่องนี้โดยเฉพาะ
เหมือนที่เราได้พูดไปก่อนแล้ว ในบทตัวแปรและประเภทข้อมูล string เป็นตัวแปรที่ใช้สำหรับเก็บข้อความหรือตัวอักษร หรืออีกความหมายหนึ่ง มันเป็นอาเรย์ของ Char โดยค่าของ string ในภาษา Visual Basic นั้นแสดงอยู่ในเซตของตัวอักษร Unicode ซึ่งมันเกือบจะรองรับทุกภาษาในโลก
Dim enStr As String = "Hello World"
Dim ukStr As String = "Привіт Світ"
Dim crStr As String = "Selam Dünya"
นี่เป็นตัวอย่างการกำหนดค่าของ string โดยมีเครื่องหมาย double quote ""
,้อมรอบข้อความ เราประกาศตัวแปร string ในภาษาต่างๆ
String concatenation
ในการต่อ string ในภาษา Visual Basic เราจะใช้ตัวดำเนินการสำหรับเชื่อมต่อ string อยู่สองแบบคือ &
ใช้สำหรับเชื่อมออบเจ็คใดๆ รวมถึง string โดยผลลัพธ์ทีไ่ด้จะเป็น string และ +
ใช้สำหรับต่อสอง string เข้าด้วยกัน ค่าที่นำมาต่อกันจะต้องเป็นข้อมูลประเภท string เท่านั้น
Module StringConcatenation
Sub Main()
Dim text As String = "Three Week wonders," +
" that's what we called the new guys."
Dim text2 As String = "Distance from the Sun to the Earth " & 94.5 & " million miles"
Dim text3 As String = "Hello, " + vbNewLine + "how are you?"
Console.WriteLine(text)
Console.WriteLine(text2)
Console.WriteLine(text3)
End Sub
End Module
ในตัวอย่าง เป็นการต่อ string เข้าด้วยกัน เราได้ประกาศตัวแปร text
และกำหนดค่าให้กับมันโดย string ใหม่ที่เชื่อมต่อกันด้วยเครื่องหมาย +
ต่อมาสำหรับตัวแปร text2
เราใช้เครื่องหมาย &
ในการต่อ string เข้าด้วยกันเพราะว่าค่า 94.5
นั้นเป็นข้อมูลประเภทอื่นที่ไม่ใช่ string
Dim text3 As String = "Hello, " + vbNewLine + "how are you?"
และตัวแปรสุดท้าย text3
เราต่อ string และใช้ค่าคงที่ vbNewLine
ที่มีในภาษา Visual Basic สำหรับการขึ้นบรรทัดใหม่
Three Week wonders, that's what we called the new guys.
Distance from the Sun to the Earth 94.5 million miles
Hello,
how are you?
และนี่เป็นผลลัพธ์ของโปรแกรมในการต่อ string
String comparison
ในการเขียนโปรแกรมกับ String คุณสามารถใช้ตัวดำเนินการเปรียบเทียบ สำหรับเปรียบเทียบค่าของ String ได้ เราจะมาดูการเปรียบเทียบ string ในแบบต่างๆ
Module StringCompare
Sub Main()
Console.WriteLine("Hi" = "Hi")
Console.WriteLine("ab" < "aa")
Console.WriteLine("10" < "9")
Console.WriteLine("MARCUSCODE" <> "marcuscode")
End Sub
End Module
ในตัวอย่างเป็นการนำ string มาเปรียบเทียบกันด้วยตัวดำเนินการต่างๆ สำหรับการเปรียบโดยการใช้ตัวดำเนินการ >
, >=
, <
และ <=
กับ string นั้น เป็นการเปรียบเทียบตาม dictionary และถ้าหากความยาวไม่เท่ากัน โปรแกรมจะทำการเปรียบเทียบในขนาดที่สั้นที่สุดของ string ทั้งสองเท่านั้น เช่นในคำสั่ง
Console.WriteLine("10" < "9")
โปรแกรมจำทำการเปรียบเทียบเพียง "1" และ ''9" เพราะว่าเป็นคู่อันดับที่สั้นที่สุดของ string ทั้งสอง จึงทำให้ในการเปรียบเทียบ "10" น้อยกว่า "9"
Console.WriteLine("MARCUSCODE" <> "marcuscode")
และ string literal ในภาษา Visual Basic นั้นเป็นแบบ cast sensitive คือตัวพิมพ์ใหญ่และตัวพิมพ์เล็กเป็นคนละตัวกัน
True
False
True
True
และนี่เป็นผลลัพธ์ของโปรแกรม
String method
ตัวแปรทุกประเภทในภาษา Visual Basic นั้นเป็นออบเจ็ค ดังนั้น string ก็เป็นออบเจ็คเช่นเดียวกัน ภายในคลาส String จะมีเมธอดและ property สำหรับอำนวยความสะดวกต่างๆ มากมาย เราสามารถใช้เมธอดของ string จากตัวแปร string ได้ทันที
Module StringMethod
Sub Main()
Dim str As String = "Connection"
Console.WriteLine(str.Contains("t"))
Console.WriteLine(str.IndexOf("t"))
Console.WriteLine(str.StartsWith("Con"))
Console.WriteLine(str.Replace("tion", "ted"))
Console.WriteLine(str.Substring(0, 4))
Console.WriteLine(str.ToUpper)
Console.WriteLine(str.ToLower)
End Sub
End Module
ในตัวอย่างเป็นการใช้งานเมธอดของ string object โดยจะมีการใช้งานในรูปแบบ variableName.MethodName()
สำหรับเมธอด และ variableName.PropertyName
และเราได้ประกาศตัวแปร string str
และกำหนดค่าให้กับมัน
Console.WriteLine(str.Contains("t"))
เมธอด Contains()
ใช้สำหรับตรวจสอบว่ามีตัวอักษรอยู่ใน string หรอืไม่ ถ้ามีเมธอดคืนค่าเป็น True และถ้าไม่ False
Console.WriteLine(str.IndexOf("t"))
เมธอด IndexOf()
ใช้สำหรับหาตำแหน่งแรกที่พบของตัวอักษร
Console.WriteLine(str.StartsWith("Con"))
เมธอด StartsWith()
ใช้เพื่อตรวจสอบว่า string เริ่มต้นจากตัวอักษรที่กำหนดหรือไม่
Console.WriteLine(str.Replace("tion", "ted"))
Console.WriteLine(str.Substring(0, 4))
เมธอด Replace()
ใช้สำหรับแทนที่ค่าของ string เป็น string ใหม่ ในตัวอย่างเป็นการแทนที่คำว่า "tion" เป็น "ted" และเมธอด Substring()
ใช้สำหรับสำหรับตัด string ในตัวอย่างเป็นการตัดจากตำแหน่ง 0 ไปอีก 4 ตำแหน่ง
Console.WriteLine(str.ToUpper)
Console.WriteLine(str.ToLower)
Property ToUpper
จะแปลง string ให้เป็นตัวพิมพ์ใหญ่ และ ToUpper
ให้เป็นตัวพิมพ์เล็ก
True
True
6
8
Connected
Conn
CONNECTION
connection
และนี่เป็นผลลัพธ์ของการใช้เมธอดจาก string object
ในบทนี้ คุณได้เรียนเรียนรู้เกี่ยวกับ String ในภาษา Visual Basic ทั้งการต่อ string การเปรียบ และการใช้เมธอดจาก string object