zoukankan      html  css  js  c++  java
  • VBS使用Scripting.Dictionary字典对象

    Scripting.Dictionary是个很有用的组件,其创建了类似于Key索引对应Value值的字典对象,并且在其内部提供了快速索引访问的机制,可以让我们通过Key直接索引到指定的Value,比遍历二维数组有效得多。

    其在VBScript中是这样访问的。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    
    Dim objDict
    Set objDict = WSH.CreateObject("Scripting.Dictionary")
      ' .Add(key, value)    
      objDict.Add "a", "value1"
      objDict.Add "b", "value2"
      objDict.Add "c", "value3"
      '直接通过key=b索引到value2
      WSH.Echo objDict.Item("b")
      objDict.Remove "b" ' 删除索引b及其对应的值
        
      ' 以下是遍历字典
      Dim objKeys, objItems, i
      objKeys = objDict.Keys
      objItems = objDict.Items
      For i = 0 To objDict.Count -1
        WSH.Echo "Key=" & objKeys(i) &_
                 " AND Value=" & objItems(i)
      Next
      ' 判断指定的key是否存在
      If objDict.Exists("b") Then
        WSH.Echo "Found it"
      Else
        WSH.Echo "Not Exists!"
      End If
      objDict.RemoveAll  ' 清空字典内所有的key及其对应value
    Set objDict = Nothing

    当然在JScript访问的方式一样,但是在遍历这里需要一点点变动。

       

    由于Scripting.Dictionary的Keys和Items的集合返回的是VB安全数组,也就是说JScript访问需要多个转换的步骤,方法就是采用new VBArray()对象,相关信息可以参考MSDN的《VBArray Objects》,当获得VBArray对象后就可以通过getItem方法获取数组元素了,值得注意的是这个VBArray对象自己不创建数组,其只起到一个转换的作用,也可以将其看成是一个操作接口吧。当然其toArray()方法可以将其转换为真正的JScript数组,届时可以直接像操作JScript数组一样操作VBArray转换的对象了。

     

     

    原文:http://wangye.org/blog/archives/60/

  • 相关阅读:
    python mysql and ORM
    mysql-8.0.12-winx64 解压版安装(转)
    mysql装完计算机管理里面没mysql服务怎么解决(转)
    Python使用MySQL数据库(新)(转)
    Python之路,Day9
    python随笔2(列表的增删改查)
    python随笔1
    2018-05-23——PYTHON第三天
    2018-05-22——PYTHON第二天
    2018-05-21——python第一天
  • 原文地址:https://www.cnblogs.com/c-x-a/p/5896099.html
Copyright © 2011-2022 走看看