Using Union to create one sequence that contains the unique first letter
Imports System.IO
Imports System.Reflection
Imports System.Linq
Imports System.Xml.Linq
Imports System.Collections
Imports System.Collections.Generic
Public Class Project
Public ProjectID As Integer
Public ProjectName As String
Public Category As String
Public Cost As Decimal
Public YearLength As Integer
End Class
Public Class Employee
Public EmployeeID As String
Public CompanyName As String
Public Address As String
Public City As String
Public Region As String
Public PostalCode As String
Public Country As String
Public Phone As String
Public Fax As String
Public Payments As Payment()
End Class
Public Class Payment
Public PaymentID As Integer
Public PaymentDate As DateTime
Public Total As Decimal
End Class
Public Class MainClass
Public Shared Sub Main()
Dim projectList As List(Of Project) = New List(Of Project)
projectList.Add(New Project With {.ProjectID = 1, .ProjectName = "A", .Category = "Design", .Cost = 18D, .YearLength = 39})
projectList.Add(New Project With {.ProjectID = 2, .ProjectName = "B", .Category = "Testing", .Cost = 19D, .YearLength = 17})
projectList.Add(New Project With {.ProjectID = 3, .ProjectName = "C", .Category = "Coding", .Cost = 10D, .YearLength = 13})
projectList.Add(New Project With {.ProjectID = 4, .ProjectName = "D", .Category = "Meeting", .Cost = 22D, .YearLength = 53})
projectList.Add(New Project With {.ProjectID = 5, .ProjectName = "E", .Category = "Writing", .Cost = 21.35D, .YearLength = 0})
projectList.Add(New Project With {.ProjectID = 6, .ProjectName = "F", .Category = "Testing", .Cost = 25D, .YearLength = 120})
projectList.Add(New Project With {.ProjectID = 7, .ProjectName = "G", .Category = "Coding", .Cost = 30D, .YearLength = 15})
projectList.Add(New Project With {.ProjectID = 8, .ProjectName = "H", .Category = "Design", .Cost = 40D, .YearLength = 6})
projectList.Add(New Project With {.ProjectID = 9, .ProjectName = "I", .Category = "Coding", .Cost = 97D, .YearLength = 29})
Dim employeeList As List(Of Employee) = New List(Of Employee)
employeeList.Add(New Employee With {.EmployeeID = 1, .CompanyName = "Company A", .Address = "Street 1", .City = "City 1", .Region = "North"})
employeeList.Add(New Employee With {.EmployeeID = 2, .CompanyName = "Company B", .Address = "Street 2", .City = "City 2", .Region = "South"})
employeeList.Add(New Employee With {.EmployeeID = 3, .CompanyName = "Company C", .Address = "Street 3", .City = "City 3", .Region = "West"})
employeeList.Add(New Employee With {.EmployeeID = 4, .CompanyName = "Company D", .Address = "Street 4", .City = "City 4", .Region = "East"})
employeeList.Add(New Employee With {.EmployeeID = 5, .CompanyName = "Company E", .Address = "Street 5", .City = "City 5", .Region = "North"})
employeeList.Add(New Employee With {.EmployeeID = 6, .CompanyName = "Company F", .Address = "Street 6", .City = "City 6", .Region = "South"})
Dim projectFirstChars = From prod In projectList _
Select prod.ProjectName(0)
Dim employeeFirstChars = From cust In employeeList _
Select cust.CompanyName(0)
Dim uniqueFirstChars = projectFirstChars.Union(employeeFirstChars)
Console.WriteLine("Unique first letters from Project names and Employee names:")
For Each ch In uniqueFirstChars
Console.WriteLine(ch)
Next
End Sub
End Class
Related examples in the same category