在VB.NET中,當你需要在控制台顯示資料或準備好列印資料時,可能需要調整列寬以顯示固定長度的資料。本文介紹了使用String對象的PadLeft方法和PadRight方法擴充字串以進行固定寬度顯示。
PadLeft和PadRight方法
PadLeft和PadRight是字串類的兩個方法,可以分別使用它們在字串的左邊和右邊填充空格。這兩個方法多接受一個代表總長度的整型數,添加的空格數等於填充總長度減去字串的當前長度。
注意:在完成將字串格式化為固定寬度顯示的工作時,應該使用固定寬度的字型,例如Courier等,因為固定寬度的字元佔有相同的寬度。否則,填充將會無效。
程式員經常使用的另一個替代方法是使用tab字元來獲得近似固定寬度顯示格式。使用tabs的一個問題是,當某行長度比能夠顯示的長度長時,將會對tab進行擴充,這將導致各行不能很好對齊。
列表A中,我們為大家介紹了如何使用PadLeft和PadRight方法顯示字串。(為了運行該例子,我們添加了一個下拉式清單ListBox1並將它的字型設定為固定寬度的字型)圖1顯示了運行列表A中的代碼後的結果。
在本例中,我們定義了一個整型變數i和兩個字串數組:strArrSeasons和strArrWeather。每個數組賦初值為預定義好的值;然後,我們將每個數組傳遞給函數PadArray,並指定在字串的左側擴充。
Code:
- Private Sub PadStrings()
-
-
- Dim i As Integer = 0
- Dim strArrSeasons() AsString = {"Winter", "Spring", "Summer", "Fall"}
- Dim strArrWeather() AsString = {"Cold", "Warm", "Hot", "Cool"}
-
-
- PadArray(strArrSeasons, True)
- PadArray(strArrWeather, False)
-
-
- Dim strAll As String
- For i = 0 To strArrSeasons.length – 1
- ListBox1.Items.Add(strArrSeasons(i) & " " & strArrWeather(i))
- Next
-
-
-
- End Sub
-
-
-
- Private Sub PadArray(ByRef strArray() As String, ByVal bPadLeft As Boolean)
-
-
- Dim i As Integer = 0
- Dim iMaxLength As Integer = 0
- Dim strItem As String
-
-
- For Each strItem In strArray
- If strItem.Length > iMaxLength Then iMaxLength = strItem.Length
- Next
-
-
- For i = 0 To strArray.Length – 1
- If bPadLeft = TrueThen
- strArray(i) = strArray(i).PadLeft(iMaxLength)
- Else
- strArray(i) = strArray(i).PadRight(iMaxLength)
- End If
- Next
-
-
-
- End Sub