将列表转换为VB中的字典

5

我有一个字符串列表。 我想创建一个字符串,字符串的字典,其中每个条目的"Id"作为键,列表的内容作为值。

例如:

myList= { "string1", "string2", ...etc }

因此
myDictionary = {{"Id1", "string1"}, {"Id2", "string2"}, ...etc}

我一直在尝试使用List.ToDictionary方法创建一个字典,但一直不成功。

List.ToDictionary(Of String, String)("Id", Function(p) p.key)

非常感谢您的帮助。

2个回答

6
尝试像这样做:-
  Dim list As List(of string)
  Dim dict As IDictionary(Of String) = list.ToDictionary(Function(p) "Id", Function(p) p)

也许我弄错了,但是那个表达式中的 "p" 不是字符串类型吗? - hometoast
3
这样做是不对的。此外,OP已经要求所有的键都为“Id”,这有点违背字典的概念... - Basic
是的。字符串没有Key或Value成员。 - hometoast
除非你不能有一个带有重复键的字典。 - hometoast
@hometoast 是的,我同意,并且我正在考虑 OP 知道这个事实但忘了提到它!!! :) - Rahul Tripathi
1
@RahulTripathi:作为从列表创建字典的答案,这就是它,尽管您可能会用更有意义的内容替换“Id”。至于OP提出的问题-嗯,那是另一回事了。对于这种方法给予+1的支持。 - Victor Zakharov

4
我想创建一个字符串字典,其中每个条目的“Id”作为键。
这是不可能的。字典中的每个条目必须具有唯一的键。

1
我认为 OP 知道这一点,他只是忘了提及。我已经考虑过这一点了 ;) - Rahul Tripathi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接