Vb.net 这{!}在特定的代码行中是什么意思?
我正在读一段代码,它读取一个MicrosoftAccess数据库模式 在其他人之间,我看到了循环中的那行代码Vb.net 这{!}在特定的代码行中是什么意思?,vb.net,datatable,Vb.net,Datatable,我正在读一段代码,它读取一个MicrosoftAccess数据库模式 在其他人之间,我看到了循环中的那行代码 ColName = SchemaTable.Rows(i)!COLUMN_NAME.ToString 为什么感叹号用于{!}?它正在查找集合SchemaTable,查找列\u NAME.ToString,然后将其设置为ColName 更多信息和示例如下: 来自 感叹号(!)运算符 用这个!运算符仅在类或接口上作为字典访问 操作人员类或接口必须具有以下默认属性: 接受单个字符串参数。紧
ColName = SchemaTable.Rows(i)!COLUMN_NAME.ToString
为什么感叹号用于{!}?它正在查找集合
SchemaTable
,查找列\u NAME.ToString
,然后将其设置为ColName
更多信息和示例如下:
来自
感叹号(!)运算符
用这个!运算符仅在类或接口上作为字典访问
操作人员类或接口必须具有以下默认属性:
接受单个字符串参数。紧跟其后的标识符
这个运算符成为传递给默认值的参数值
属性作为字符串
Public Class hasDefault
Default Public ReadOnly Property index(ByVal s As String) As Integer
Get
Return 32768 + AscW(s)
End Get
End Property
End Class
Public Class testHasDefault
Public Sub compareAccess()
Dim hD As hasDefault = New hasDefault()
MsgBox("Traditional access returns " & hD.index("X") & vbCrLf &
"Default property access returns " & hD("X") & vbCrLf &
"Dictionary access returns " & hD!X)
End Sub
End Class
MsgBox的三个输出行都显示值32856。这个
第一行使用传统的访问属性索引,第二行使用
利用索引是类的默认属性这一事实
hasDefault,第三个使用字典访问类
请注意,的第二个操作数!运算符必须是有效的视觉对象
基本标识符未包含在双引号(“”)中。在里面
换句话说,不能使用字符串文字或字符串变量。这个
对MsgBox调用的最后一行进行更改后,将生成
错误,因为“X”是一个封闭的字符串文字
"Dictionary access returns " & hD!"X")
对默认集合的引用必须是显式的。特别是你
不能使用该选项!晚绑定变量上的运算符
它没有在“集合
SchemaTable
”上进行查找/索引;它是在SchemaTable.Rows(i)上进行的。它没有将任何内容设置为ColName
:它将ColName
设置为.ToString
的结果。此外,代码>与此无关。最后,你的链接失效了。即使这些都是固定的,这似乎是一个非常模糊的答案。