gpt4 book ai didi

vb.net - 将 Dictionary(Of String, Object) 转换为 Dictionary(Of String, String)

转载 作者:行者123 更新时间:2023-12-02 03:18:21 25 4
gpt4 key购买 nike

当我尝试将 Dictionary(Of String, Object) 传递给需要 Dictionary(Of String, String) 的函数参数时,出现以下错误:

Unable to cast object of type 'System.Collections.Generic.Dictionary'2[System.String,System.Object]' to type 'System.Collections.Generic.Dictionary'2[System.String,System.String]'.

字典中的所有Object值都是字符串,但字典被声明为String/Object。我本以为系统能够转换它,但由于它不是我需要自己做。

我查看了 .ToDictionary() 原型(prototype)方法,但所有示例都显示列表正在转换为字典。

我找到了this question它对我想要的内容有一个可接受的答案,但它是用 C# 编写的,我无法弄清楚到 VB.Net 的转换。

编辑 1

违规代码。显然归结为,否则我只需在实际代码中将 dict1 声明为 string/string 即可。

Dim dict1 As New Dictionary(Of String, Object) From {{"key1","value1"}}

SomeFunctionThatExpectsParamToBeDictOfStringString(dict1)

编辑2

我尝试过:

SomeFunctionThatExpectsParamToBeDictOfStringString(dict1.ToDictionary(Function(k) k.Key, Function(v) v.Value.ToString()))

但得到:

System.MissingMemberException: Public member 'ToDictionary' on type 'Dictionary(Of String,Object)' not found.

最佳答案

这可能是 C# code 的 VB.NET 版本您已链接

Dim dic1 As Dictionary(Of String, Object) = New Dictionary(Of String, Object) 
dic1.Add("A", "B")

Dim dic2 As Dictionary(Of String, String) = dic1.ToDictionary(Function(k) k.Key,
Function(v) v.Value.ToString())

关于vb.net - 将 Dictionary(Of String, Object) 转换为 Dictionary(Of String, String),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60403277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com