Visual Basic .NET Language
사전
수색…
소개
사전은 키와 값의 모음을 나타냅니다. MSDN 사전 (Tkey, TValue) 클래스를 참조하십시오.
사전을 반복하고 모든 항목을 인쇄하십시오.
사전의 각 쌍은 Dictionary와 동일한 유형 매개 변수가있는 KeyValuePair
의 인스턴스입니다. For Each
를 사용하여 사전을 반복하면 각 반복마다 사전에 저장된 키 - 값 쌍 중 하나가 표시됩니다.
For Each kvp As KeyValuePair(Of String, String) In currentDictionary
Console.WriteLine("{0}: {1}", kvp.Key, kvp.Value)
Next
값으로 채워진 사전 만들기
Dim extensions As New Dictionary(Of String, String) _
from { { "txt", "notepad" },
{ "bmp", "paint" },
{ "doc", "winword" } }
이것은 사전을 생성하고 즉시 3 개의 KeyValuePairs로 채 웁니다.
나중에 Add 메서드를 사용하여 새 값을 추가 할 수도 있습니다.
extensions.Add("png", "paint")
키 (첫 번째 매개 변수)는 사전에서 고유해야하며, 그렇지 않으면 Exception이 throw됩니다.
사전 값 가져 오기
'Item'속성을 사용하여 사전에서 항목의 값을 얻을 수 있습니다.
Dim extensions As New Dictionary(Of String, String) From {
{ "txt", "notepad" },
{ "bmp", "paint" },
{ "doc", "winword" }
}
Dim program As String = extensions.Item("txt") 'will be "notepad"
' alternative syntax as Item is the default property (a.k.a. indexer)
Dim program As String = extensions("txt") 'will be "notepad"
' other alternative syntax using the (rare)
' dictionary member access operator (a.k.a. bang operator)
Dim program As String = extensions!txt 'will be "notepad"
키가 사전에 존재하지 않는 경우, KeyNotFoundException가 Throw됩니다.
이미 사전에있는 키 확인 중 - 데이터 감소
ConstainsKey
메서드는 키가 사전에 이미 있는지 여부를 확인하는 방법입니다.
이것은 데이터 축소에 유용합니다. 아래 예제에서 새 단어를 만날 때마다 사전에 키로 추가합니다. 그렇지 않으면이 특정 단어에 대한 카운터를 증가시킵니다.
Dim dic As IDictionary(Of String, Integer) = New Dictionary(Of String, Integer)
Dim words As String() = Split(<big text source>," ", -1, CompareMethod.Binary)
For Each str As String In words
If dic.ContainsKey(str) Then
dic(str) += 1
Else
dic.Add(str, 1)
End If
Next
XML 축소 예제 : XML 문서의 한 지점에서 모든 하위 노드 이름 및 발생 확인하기
Dim nodes As IDictionary(Of String, Integer) = New Dictionary(Of String, Integer)
Dim xmlsrc = New XmlDocument()
xmlsrc.LoadXml(<any text stream source>)
For Each xn As XmlNode In xmlsrc.FirstChild.ChildNodes 'selects the proper parent
If nodes.ContainsKey(xn.Name) Then
nodes(xn.Name) += 1
Else
nodes.Add(xn.Name, 1)
End If
Next
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow