如何在不知道键的情况下访问哈希表的第一个值?

保罗·卡拉姆 |

在安装过程中读取配置文件后,我将 Web 服务保存url到 a 中Hashtable以测试与这些服务的连接。

在查看我保存的所有值之前,我只想测试第一个值。我使用的密钥是xml包含服务的整个节点,url所以我不知道它。

我一开始不太了解Hashtable,所以我尝试使用索引访问它。假设ht是一个已填充的Hashtable,我试过这个:

Dim serviceUrl as String = ht(0).Value

这显然失败了,因为没有key等于0,而serviceUrl只是Nothing

然后我尝试使用以下方法访问第一个元素:

Dim firstEntry as DictionaryEntry = ht(ht.Keys(0).ToString())
' Also tried this:
' Dim firstEntry as DictionaryEntry = ht(ht.Keys(0))

在这两种情况下,我都遇到了错误:

System.InvalidCastException: 指定的强制转换无效。

我最终使用 aFor Each并在第一次迭代后直接退出循环。

For Each entry As DictionaryEntry In ht
    Dim serviceUrl as String = entry.Value
    'Use it and exit for.
    Exit For
Next

嗯,这看起来真的很糟糕。

经过一段时间的调试和环顾,我使用了一个数组来保存键值:

Dim arr as Object() = new Object(100){}
'Copy the keys to that array.
ht.Keys.CopyTo(arr,0)

'Now I can directly access first item from the Hashtable:
Dim serviceUrl as String = ht(arr(0))

我不确定这是否是正确的方法。

是否有任何直接/干净的方式从 a 访问第一个项目Hashtable

杰姆西尼

Keys属性是 an ICollection,而不是 an IList,因此无法对其进行索引。ICollection基本上只是IEnumerable一个Count属性,所以你应该像对待IEnumerable. 这意味着枚举它以获得第一项。您可以使用 LINQ:

Dim firstKey = myHashtable.Keys.Cast(Of Object)().FirstOrDefault()

或者你可以去老派:

Dim firstKey As Object

For Each key In myHashtable.Keys
    firstKey = key
    Exit For
Next

如果集合可能为空,您可以先使用 Count 属性进行测试。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在不知道键的情况下打印第一个值

来自分类Dev

如何在不知道键的情况下从F#Map中获得第一个键,值对?

来自分类Dev

如何在不知道名称的情况下获取JSONObject中的第一个对象?

来自分类常见问题

在不知道索引的情况下获取Series的第一个元素

来自分类Dev

如何在不知道键名称的情况下回显关联数组的第一个键值

来自分类Dev

如何在不替换第一个哈希的情况下合并哈希的哈希

来自分类Dev

如何在不知道键的情况下提取对象每个值的返回类型

来自分类Dev

如何在不知道名称的情况下访问.mat文件中的“值”?

来自分类Dev

如何在不知道ID的情况下选择SQLIte DB的最后一个条目?

来自分类Dev

Apex Set:如何在不知道数据类型的情况下迭代一个集合?

来自分类Dev

如何在不知道类的情况下从另一个 dll 调用类的函数?

来自分类Dev

给定一个对象,该对象是枚举值的数组,如何在不知道枚举类型的情况下获取Enum []

来自分类Dev

不知道在这种情况下如何做一个 while 循环

来自分类Dev

在不知道键的情况下访问python dict()的值

来自分类Dev

如何在不知道Ract Native中的键的情况下遍历json数组并打印值?

来自分类Dev

如何在不知道父键的情况下通过特定值查询Firebase数据库

来自分类Dev

在不知道外键之一的情况下删除数据透视表行

来自分类Dev

在不知道名称的情况下获取第一列的值

来自分类Dev

SQL:在不知道所有列名的情况下,从联接中的一个表中选择所有值?

来自分类Dev

在Objectify中,如何在不知道父键的情况下通过ID加载实体?

来自分类Dev

如何在不知道键的情况下从字典中获得价值?

来自分类Dev

如何在不知道json键的情况下使用JsonReader从json读取值

来自分类Dev

如何在不知道键的情况下使用 javascript 从多级 JSON 中获取值

来自分类Dev

如何在不知道表包含表的情况下复制表行

来自分类Dev

如果一张地图只有一个成员,如果你不知道密钥,如何在不循环的情况下获得它?

来自分类Dev

如何在不知道对象名称的情况下访问对象

来自分类Dev

如何在不知道名称的情况下访问结构成员?

来自分类Dev

如何在不知道组件名称的情况下访问组件的属性?

来自分类Dev

如何在不弄乱第一个表中的值总数的情况下对联接表中的值求和?

Related 相关文章

  1. 1

    在不知道键的情况下打印第一个值

  2. 2

    如何在不知道键的情况下从F#Map中获得第一个键,值对?

  3. 3

    如何在不知道名称的情况下获取JSONObject中的第一个对象?

  4. 4

    在不知道索引的情况下获取Series的第一个元素

  5. 5

    如何在不知道键名称的情况下回显关联数组的第一个键值

  6. 6

    如何在不替换第一个哈希的情况下合并哈希的哈希

  7. 7

    如何在不知道键的情况下提取对象每个值的返回类型

  8. 8

    如何在不知道名称的情况下访问.mat文件中的“值”?

  9. 9

    如何在不知道ID的情况下选择SQLIte DB的最后一个条目?

  10. 10

    Apex Set:如何在不知道数据类型的情况下迭代一个集合?

  11. 11

    如何在不知道类的情况下从另一个 dll 调用类的函数?

  12. 12

    给定一个对象,该对象是枚举值的数组,如何在不知道枚举类型的情况下获取Enum []

  13. 13

    不知道在这种情况下如何做一个 while 循环

  14. 14

    在不知道键的情况下访问python dict()的值

  15. 15

    如何在不知道Ract Native中的键的情况下遍历json数组并打印值?

  16. 16

    如何在不知道父键的情况下通过特定值查询Firebase数据库

  17. 17

    在不知道外键之一的情况下删除数据透视表行

  18. 18

    在不知道名称的情况下获取第一列的值

  19. 19

    SQL:在不知道所有列名的情况下,从联接中的一个表中选择所有值?

  20. 20

    在Objectify中,如何在不知道父键的情况下通过ID加载实体?

  21. 21

    如何在不知道键的情况下从字典中获得价值?

  22. 22

    如何在不知道json键的情况下使用JsonReader从json读取值

  23. 23

    如何在不知道键的情况下使用 javascript 从多级 JSON 中获取值

  24. 24

    如何在不知道表包含表的情况下复制表行

  25. 25

    如果一张地图只有一个成员,如果你不知道密钥,如何在不循环的情况下获得它?

  26. 26

    如何在不知道对象名称的情况下访问对象

  27. 27

    如何在不知道名称的情况下访问结构成员?

  28. 28

    如何在不知道组件名称的情况下访问组件的属性?

  29. 29

    如何在不弄乱第一个表中的值总数的情况下对联接表中的值求和?

热门标签

归档