在VBNET中当你需要在控制台显示数据或准备好打印数据时可能需要调整列宽以显示固定长度的数据本文介绍了使用String对象的PadLeft方法和PadRight方法扩充字符串以进行固定宽度显示
PadLeft和PadRight方法
PadLeft和PadRight是字符串类的两个方法可以分别使用它们在字符串的左边和右边填充空格这两个方法多接受一个代表总长度的整型数添加的空格数等于填充总长度减去字符串的当前长度
注意在完成将字符串格式化为固定宽度显示的工作时应该使用固定宽度的字体例如Courier等因为固定宽度的字符占有相同的宽度否则填充将会无效
程序员经常使用的另一个替代方法是使用tab字符来获得近似固定宽度显示格式使用tabs的一个问题是当某行长度比能够显示的长度长时将会对tab进行扩展这将导致各行不能很好对齐
列表A中我们为大家介绍了如何使用PadLeft和PadRight方法显示字符串(为了运行该例子我们添加了一个下拉列表ListBox并将它的字体设置为固定宽度的字体)图显示了运行列表A中的代码后的结果
在本例中我们定义了一个整型变量i和两个字符串数组strArrSeasons和strArrWeather每个数组赋初值为预定义好的值然后我们将每个数组传递给函数PadArray并指定在字符串的左侧扩充
列表A
Private Sub PadStrings()
Dim i As Integer =
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 = To strArrSeasonslength ?
ListBoxItemsAdd(strArrSeasons(i) & ? & strArrWeather(i))
Next
End Sub
Private Sub PadArray(ByRef strArray() As String ByVal bPadLeft As Boolean)
Dim i As Integer =
Dim iMaxLength As Integer =
Dim strItem As String
For Each strItem In strArray
If strItemLength > iMaxLength Then iMaxLength = strItemLength
Next
For i = To strArrayLength ?
If bPadLeft = TrueThen
strArray(i) = strArray(i)PadLeft(iMaxLength)
Else
strArray(i) = strArray(i)PadRight(iMaxLength)
End If
Next
End Sub