Imports System.Collections.Generic Imports System.IO Namespace ConsoleApplication3 Class Program Private Shared Sub Main(args As String()) Dim userA = New User() With { _ Key .Name = "Gary", _ Key .OperatorName = "Gary NiceGuy", _ Key .ID = "Gary", _ Key .AccessLevel = 4, _ Key .Password = "50564348" _ } Dim userB = New User() With { _ Key .Name = "Tester", _ Key .OperatorName = "Tester Hester", _ Key .ID = "Tester", _ Key .AccessLevel = 1, _ Key .Password = "435242455243" _ } Dim users = New Users() users.Add(userA.Name, userA) users.Add(userB.Name, userB) Using sw As New StreamWriter("test.ini") For Each v As var In users sw.WriteLine("[" & v.Key & "]") sw.WriteLine("OperatorID=" & v.Value.ID) sw.WriteLine("OperatorName=" & v.Value.OperatorName) sw.WriteLine("AccessLevel=" & v.Value.AccessLevel.ToString()) sw.WriteLine("OperatorPassword" & v.Value.Password) sw.WriteLine() Next End Using End Sub End Class Public Class User Public Property ID() As String Get Return m_ID End Get Set m_ID = Value End Set End Property Private m_ID As String Public Property Name() As String Get Return m_Name End Get Set m_Name = Value End Set End Property Private m_Name As String Public Property OperatorName() As String Get Return m_OperatorName End Get Set m_OperatorName = Value End Set End Property Private m_OperatorName As String Public Property Password() As String Get Return m_Password End Get Set m_Password = Value End Set End Property Private m_Password As String Public Property LoggedIn() As [Boolean] Get Return m_LoggedIn End Get Set m_LoggedIn = Value End Set End Property Private m_LoggedIn As [Boolean] Public Property AccessLevel() As Integer Get Return m_AccessLevel End Get Set m_AccessLevel = Value End Set End Property Private m_AccessLevel As Integer End Class Public Class Users Inherits Dictionary(Of String, User) End Class End Namespace