如何在实例化插入值到VB.NET字典?

有没有一种方法可以在创build时将值插入到VB.NET字典中? 我可以,但不想,为每个项目做dict.Add(int,“string”)。

基本上,我想要“如何在实例化中将值插入到C#字典中?” 与VB.NET。

var dictionary = new Dictionary<int, string> { {0, "string"}, {1, "string2"}, {2, "string3"} }; 

如果使用Visual Studio 2010或更高版本,则应该像这样使用FROM关键字:

 Dim days = New Dictionary(Of Integer, String) From {{0, "string"}, {1, "string2"}} 

请参阅: http : //msdn.microsoft.com/en-us/library/dd293617(VS.100).aspx

如果您需要使用以前版本的Visual Studio,并且需要频繁执行此操作,则可以从Dictionary类inheritance并自行实施。

它可能看起来像这样:

 Public Class InitializableDictionary Inherits Dictionary(Of Int32, String) Public Sub New(ByVal args() As KeyValuePair(Of Int32, String)) MyBase.New() For Each kvp As KeyValuePair(Of Int32, String) In args Me.Add(kvp.Key, kvp.Value) Next End Sub End Class 

这是2010年以前的Visual Basic版本。

在VB2010及更高版本中,您可以使用FROM关键字。

 Dim days = New Dictionary(Of Integer, String) From {{0, "Sunday"}, {1, "Monday"}} 

参考

http://msdn.microsoft.com/en-us/library/dd293617(VS.100).aspx

你正在看的是C#的一个叫做“集合初始化器”的特性。 该function也适用于VB,但是在Visual Studio 2008发布之前就已经被切断了。现在它不能帮助你,但是这个function在Visual Studio 2010中是可用的。同时,你必须以旧式的方式来做 – 调用新实例的.Add()方法。