2011年11月9日 星期三

vbnet 定義字串長度


 引用參考
---------
Structure Person
    Public ID As Integer
    Public MonthlySalary As Decimal
    Public LastReviewDate As Long
     Public FirstName As String
     Public LastName As String
     Public Title As String
     Public ReviewComments As String
End Structure


注意
VBFixedStringAttribute 是信息性的属性,不能用于将可变长度字符串转换为固定长度字符串。此属性的作用是修改那些识别 VBFixedStringAttribute 的方法或 API 调用(如 Len 和 FilePut 函数)使用结构中的字符串以及非局部变量的方式。请记住,此属性不会更改字符串本身的实际长度。

备注
默认情况下,Visual Basic 字符串为可变长度的字符串。在使用 Visual Basic 文件输入和输出函数(如需要固定长度字符串的 FileGet 和 FilePut)时,该属性非常有用。

注意
VBFixedStringAttribute 属性以字节而不是字符为单位指定字符串长度。


----
我的解讀與用法:
Public Class Form1
    Structure GetTransData
          <VBFixedString(2)> Dim trans_type As String
    End Structure

    Dim GTdata As GetTransData

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        GTdata.trans_type = "12111"
        MessageBox.Show(Len(GTdata) & " " & GTdata.trans_type.Length & " " & GTdata.trans_type)
    End Sub
End Class

這答案會是: 2, 5, 12111
只是騙系統總長度是2,實際還是依儲存的為主;所以定義長度沒什麼

沒有留言:

張貼留言