如何将Scripting.Dictionary首个键值直接赋值给变量?
在VBScript中直接获取Scripting.Dictionary的第一个键及对应值
你可以通过给dict.Keys的调用添加一层括号,实现一步获取数组的第一个元素,无需中间变量:
Dim tmp As String tmp = (dict.Keys)(0)
原因说明
VBScript的语法规则限制了直接对方法返回的数组进行索引操作:dict.Keys(0)会被错误解析为“向Keys方法传递参数0”,而非“取Keys返回数组的第0个元素”。外层括号(dict.Keys)会强制VBScript先执行方法并返回完整数组,之后再对数组进行索引访问,从而达成一步赋值的目的。
如果需要直接获取第一个键对应的Item值,也可以用同样的逻辑:
Dim firstItem As String firstItem = dict((dict.Keys)(0))
完整测试代码
Dim dict As Object Set dict = CreateObject("Scripting.Dictionary") dict.Add Key:="a", Item:="A" dict.Add Key:="b", Item:="B" dict.Add Key:="c", Item:="C" dict.Add Key:="d", Item:="D" ' 直接获取第一个键 Dim firstKey As String firstKey = (dict.Keys)(0) ' 直接获取第一个键对应的值 Dim firstItem As String firstItem = dict((dict.Keys)(0))
内容的提问来源于stack exchange,提问作者masher
相关产品推荐
相关产品推荐

