Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何从具有键值对的属性列表集合中获取键列表_Asp.net_Vb.net_Property List_Keyvaluepair - Fatal编程技术网

Asp.net 如何从具有键值对的属性列表集合中获取键列表

Asp.net 如何从具有键值对的属性列表集合中获取键列表,asp.net,vb.net,property-list,keyvaluepair,Asp.net,Vb.net,Property List,Keyvaluepair,我有一个包含键值对的属性列表,如VisualStudio中的屏幕截图所示 更新: 如果我在上面的屏幕截图上花费值(0),我有下面的屏幕截图 如何从中获取包含键值的列表(可能是字符串列表?) 例如,新列表将包含,{Id,类名,名字,姓氏,Dob}。不需要过滤任何东西 非常感谢如果您的列表是键-值对的集合,那么您能否不迭代此集合并建立表示键的字符串的新列表 Dim l2 As New List(Of String) For Each kvp As KeyValuePair(Of S

我有一个包含键值对的属性列表,如VisualStudio中的屏幕截图所示

更新:

如果我在上面的屏幕截图上花费值(0),我有下面的屏幕截图

如何从中获取包含键值的列表(可能是字符串列表?)

例如,新列表将包含,{Id,类名,名字,姓氏,Dob}。不需要过滤任何东西


非常感谢

如果您的列表是键-值对的集合,那么您能否不迭代此集合并建立表示键的字符串的新列表

   Dim l2 As New List(Of String)
    For Each kvp As KeyValuePair(Of String, String) In res(0)
        l2.Add(kvp.Key)
    Next

这里有一个例子。在本例中,每个KeyValuePair的键都是字符串,但它可能并不总是字符串,因此有一个显式的.ToString(),以防键是另一种类型

Dim myList As New List(Of KeyValuePair(Of String, Object))
' add stuff to myList here

Dim keyList as List(Of String)
For Each item In myList
    keyList.Add(item.Key.ToString())
Next item
编辑:尝试以下操作:

' add stuff to myList here

Dim keyList as List(Of String)
For Each entry in res
    For Each item In entry._values
            keyList.Add(item.Key.ToString())
    Next item
Next Entry

谢谢你,1702721。上面的代码不起作用。键值对列表的集合是我所拥有的最好的描述。我真的不知道是什么,这就是为什么我把截图放在上面。你能从截图中得出答案吗?你是否与VB进行交互操作?可以展开_值(0)项以查看其中的可用内容吗?奇数…_值看起来确实像是一组键值对。我已经修改了我先前的建议,你能试一试吗。。它不喜欢res(0)。。无法编译。错误为
表达式的类型为“propertybag”,它不是集合类型
Ok。我们有没有可能得到对象类型propertybag的成员列表?嗨,道格拉斯,谢谢你的回答。但我没有从列表中的项中获取.Key。你能从截图中找出它是什么类型的列表吗?现在试试。它看起来像某种自定义类型。谢谢道格拉斯,这是一个非常讨厌的自定义属性列表集合。我们取得了进展,但还没有成功。我收到一条错误消息,上面说entry.\u值不可访问,因为它是Friend。我真的无法改变它,因为它在dll中。我现在注意到屏幕打印中_值旁边的小按键图标。我还有什么选择吗?如果是“朋友”,那么我相信你运气不好。这意味着它只能从声明它的程序集(即,您的.DLL)中访问。多亏了道格拉斯。。我现在懂多了。。但是我仍然可以将整个列表绑定到gridview。通过阅读gridview列,我将得到我想要的列表,但还有很多额外的步骤。