ons*_*ito 51 vb.net dictionary c#-to-vb.net
有没有办法在创建时可以将值插入到VB.NET字典中?我可以,但不想,为每个项目执行dict.Add(int,"string").
基本上,我想做"如何在实例化时将值插入C#Dictionary?" 用VB.NET.
var dictionary = new Dictionary<int, string>
{
{0, "string"},
{1, "string2"},
{2, "string3"}
};
Run Code Online (Sandbox Code Playgroud)
bre*_*dan 63
如果使用Visual Studio 2010或更高版本,则应使用如下FROM关键字:
Dim days = New Dictionary(Of Integer, String) From {{0, "string"}, {1, "string2"}}
Run Code Online (Sandbox Code Playgroud)
请参阅:http: //msdn.microsoft.com/en-us/library/dd293617(VS.100).aspx
如果您需要使用Visual Studio的早期版本,并且需要经常这样做,您可以继承Dictionary类并自己实现它.
它可能看起来像这样:
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
Run Code Online (Sandbox Code Playgroud)
Ste*_*fan 28
这不是2010年之前的Visual Basic版本.
在VB2010及更高版本中,您可以使用FROM关键字.
Dim days = New Dictionary(Of Integer, String) From {{0, "Sunday"}, {1, "Monday"}}
Run Code Online (Sandbox Code Playgroud)
参考
http://msdn.microsoft.com/en-us/library/dd293617(VS.100).aspx
你正在看的是C#的一个称为"集合初始化器"的功能.这个功能也存在于VB中,但是在Visual Studio 2008发布之前就被删除了.它现在对你没有帮助,但是预计这将在Visual Studio 2010中提供.同时,你必须要以老式的方式做 - 调用.Add()新实例的方法.