加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

vb.net – 是否可以使用String键/值对初始化新的System.Collecti

发布时间:2020-12-16 23:56:19 所属栏目:大数据 来源:网络整理
导读:可以在一个语句中使用String键/值对创建和初始化 System.Collections.Generic.Dictionary 对象吗? 我正在考虑一系列Strings的构造函数。 例如 Private mStringArray As String() = {"String1","String2","etc"} 如果这被证明是syntactic sugar类的东西,我
可以在一个语句中使用String键/值对创建和初始化 System.Collections.Generic.Dictionary对象吗?

我正在考虑一系列Strings的构造函数。

例如

Private mStringArray As String() = {"String1","String2","etc"}

如果这被证明是syntactic sugar类的东西,我更喜欢一个答案,我可以在.Net 2.0(Visual Studio 2005)和Visual Basic中使用 – 虽然我很好奇,如果可能的话,所以,所以,不要让你失望; o)

我不认为有一种方法可以在VB.NET 2中开箱即用,但是您可以扩展通用字典,使其按照您想要的方式工作。

下面的控制台应用程序说明了这一点:

Imports System.Collections.Generic

Module Module1

    Sub Main()

        Dim items As New FancyDictionary(Of Integer,String)(New Object(,) {{1,"First Item"},{2,"Second Item"},{3,"Last Item"}})
        Dim enumerator As FancyDictionary(Of Integer,String).Enumerator = items.GetEnumerator

        While enumerator.MoveNext
            Console.WriteLine(String.Format("{0} : {1}",enumerator.Current.Key,enumerator.Current.Value))
        End While

        Console.Read()

    End Sub

    Public Class FancyDictionary(Of TKey,TValue)
        Inherits Dictionary(Of TKey,TValue)

        Public Sub New(ByVal InitialValues(,) As Object)

            For i As Integer = 0 To InitialValues.GetLength(0) - 1

                Me.Add(InitialValues(i,0),InitialValues(i,1))

            Next

        End Sub

    End Class

End Module

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读