VB.Net by API/System.Collections.Generic/Dictionary

Материал из VB Эксперт
Перейти к: навигация, поиск

Dictionary.Add

  
 
Option Strict On
Imports System.Collections.Generic
Public Module modMain
   Private employees As Dictionary(Of String, Employee)
   Public Sub Main()
      employees = New Dictionary(Of String, Employee)
      employees.Add("name",New Employee("name", "1"))
      employees.Add("name1",New Employee("name1", "1"))
      Console.WriteLine("There are {0} employees now on file. They are:",employees.Count)
      For Each pair As KeyValuePair(Of String, Employee) In Employees
         Console.WriteLine(" {0}: {1}", pair.Key, pair.Value.Name)
      Next
   End Sub
      
End Module
Public Class Employee
   Private empName As String
   Private empID As String
   Public Sub New(name As String, ID As String)
      Me.empName = name
      Me.empID = ID
   End Sub
   Public Property Name() As String
      Get
         Return Me.empName
      End Get
      Set
         Me.empName = Value
      End Set
   End Property
   Public Property ID As String
      Get
         return Me.empID
      End Get
      Set
         Me.empID = Value
      End Set
   End Property
End Class


Dictionary.Item

  
Imports System.Collections.Generic
Public Class GenericTest
   Public Shared Sub Main()
      Dim education As New Dictionary(Of String, String)
      education.Add("BA", "Bachelor of Arts")
      education.Add("BS", "Bachelor of Science")
      education.Add("MA", "Master of Arts")
      education.Add("MS", "Master of Science")
      education.Add("MPhil", "Master of Philosophy")
      education.Add("PhD", "Doctor of Philosophy")
      Console.WriteLine(education.Item("BS"))
      Console.WriteLine()
      For Each pair As KeyValuePair(Of String, String) In education
         Console.WriteLine(pair.Value)
      Next
   End Sub
End Class


New Dictionary

  
Imports System.Collections.Generic
Public Structure Employee
   Dim Name As String
   Dim HireDate As Date
   Dim BirthDate As Date
End Structure
Public Module Test
   Public Sub Main()
      Dim employees As New Dictionary(of String, Employee)
      Dim dateToFind As Date
      Dim input As String
      Dim emp As New Employee
      emp.Name = "S"
      emp.HireDate = #1/2/2003#
      emp.BirthDate = #7/12/1977#
      employees.Add(emp.Name, emp)
      emp.Name = "A"
      emp.HireDate = #8/18/1999#
      emp.BirthDate = #3/16/1964#
      employees.Add(emp.Name, emp)
      emp.Name = "B"
      emp.HireDate = #3/1/1987#
      emp.BirthDate = #11/12/1955#
      employees.Add(emp.Name, emp)

      dateToFind = CDate("7/12/1977")
      For Each employee As KeyValuePair(of String, Employee) In employees
         If Month(employee.Value.BirthDate) = Month(dateToFind) AndAlso Day(employee.Value.BirthDate) = Day(dateToFind) Then
            Console.WriteLine("{0:MMMM d} is the bithday of {1}.", dateToFind, employee.Key)
         End If
         
         If Month(employee.Value.HireDate) = Month(dateToFind) AndAlso Day(employee.Value.HireDate) = Day(dateToFind) Then
            Console.WriteLine("{0:MMMM d} is the hiring anniversary of {1}.", dateToFind, employee.Key)
         End If
      Next
   End Sub
End Module