gpt4 book ai didi

.net - 如何使用自定义结构代替 KeyValuePair?

转载 作者:行者123 更新时间:2023-12-02 15:02:05 26 4
gpt4 key购买 nike

是否可以使用自定义结构来代替 KeyValuePair?

而不是

For Each kvp As KeyValuePair(Of class1,class2) In myDict
Dim c1 As kvp.Key
Dim c2 As kvp.Value
Next

我想使用

For Each kvp As myKvp In myDict
Dim c1 As kvp.P1
Dim c2 As kvp.P2
Next

我只想使用 myKvp 代替 KeyValuePair(Of class1,class2)(不适用于其他类型)。

我尝试将 myKvp 创建为

Public Structure myKvp    

Public P1 As class1
Public P2 As class2

Public Sub New(_p1 As class1,_p2 As class2)
P1 = _p1
P2 = _p2
End Sub

End Structure

但我收到消息

System.Collections.Generic.KeyValuePair(Of ASP...class1, ASP...class2) 类型的值无法转换为“ASP...myKvp”。

最佳答案

您需要显式创建 myKvp 的实例。您可以使用 Linq 轻松完成:

For Each kvp As myKvp In myDict.Select(Function(x) New myKvp(x.Key, x.Value))
Dim c1 = kvp.P1
Dim c2 = kvp.P2
Next

关于.net - 如何使用自定义结构代替 KeyValuePair?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6104060/

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