Program Club

선언시 사전에 키 / 값 추가

proclub 2020. 11. 20. 16:54
반응형

선언시 사전에 키 / 값 추가


오늘은 아주 쉽습니다. C #에서는 다음과 같습니다.

Dictionary<String, String> dict = new Dictionary<string, string>() { { "", "" } };

그러나 vb에서는 다음이 작동하지 않습니다.

Public dict As Dictionary(Of String, String) = New Dictionary(Of String, String) (("",""))

선언 할 때 추가하는 방법이 있다고 확신하지만 방법은 잘 모르겠습니다. 그리고 예, 다른 시간이 아니라 선언시 추가하고 싶습니다. :) 그래서 가능합니다. 모두에게 감사합니다.

나는 또한 시도했다 :

Public dict As Dictionary(Of String, String) = New Dictionary(Of String, String) ({"",""})

과...

Public dict As Dictionary(Of String, String) = New Dictionary(Of String, String) {("","")}

과...

Public dict As Dictionary(Of String, String) = New Dictionary(Of String, String) {{"",""}}

이것은 VB.NET 10에서 가능합니다.

Dim dict = New Dictionary(Of Integer, String) From {{ 1, "Test1" }, { 2, "Test1" }}

불행히도 IIRC VS 2008은이 구문을 지원하지 않는 VB.NET 9 컴파일러를 사용합니다.

관심을 가질만한 사람들을 위해 다음은 백그라운드에서 일어나는 일입니다 (C #).

Dictionary<int, string> VB$t_ref$S0 = new Dictionary<int, string>();
VB$t_ref$S0.Add(1, "Test1");
VB$t_ref$S0.Add(2, "Test1");
Dictionary<int, string> dict = VB$t_ref$S0;

거의 동일합니다. From 키워드를 사용하십시오.

    Dim d As New Dictionary(Of String, String) From {{"", ""}}

그러나이를 위해서는 VS2010에서 사용할 수있는 언어 버전 10이 필요합니다.


여기에 멋진 번역이 있습니다. 문자열과 문자열 배열의 일반 사전을 가질 수도 있습니다.

C # :

private static readonly Dictionary<string, string[]> dics = new Dictionary<string, string[]>
        {
            {"sizes", new string[]   {"small", "medium", "large"}},
            {"colors", new string[]  {"black", "red", "brown"}},
            {"shapes", new string[]  {"circle", "square"}}
        };

VB :

Private Shared ReadOnly dics As New Dictionary(Of String, String()) From { _
 {"sizes", New String() {"small", "medium", "large"}}, _
 {"colors", New String() {"black", "red", "brown"}}, _
 {"shapes", New String() {"circle", "square"}}}

쿨하 :)


사전에 KeyValuePair를 사용하는 생성자는 없습니다.

참고 URL : https://stackoverflow.com/questions/3771922/add-keys-values-to-dictionary-at-declaration

반응형