Introduction to Arrays and Classes |
|
An Array of Objects
Introduction
You can create an array of values where each member of the array is based on a formal class. Of course, you must have a class first. You can use one of the already available classes of the .NET Framework or you can create your own class. Here is an example of such a class:
public enum EmploymentStatus
{
FullTime,
PartTime,
Unknown
}
public class Employee
{
public long EmployeeNumber { get; set; }
public string EmployeeName { get; set; }
public EmploymentStatus Status { get; set; }
public double HourlySalary { get; set; }
}
Practical Learning: Introducing Arrays and Classes
namespace CountriesStatistics5 { public interface IAbbreviated { string Abbreviation { get; set; } } }
namespace CountriesStatistics5 { public abstract class GovernmentEntity { public virtual string StateName { get; set; } public virtual int AreaSqrKms { get; set; } public virtual string Capital { get; set; } } }
namespace CountriesStatistics5 { public class State : GovernmentEntity, IAbbreviated { public string Abbreviation { get; set; } } }
Control | (Name) | Text | TextAlign |
Label | United Mexican States | Font: Georgia, 20.25pt, style=Bold | |
Label | _______________________ | ||
ListView | lvwStates |
View: Details GridLines: True FullRowSelect: True Anchor: Top, Bottom, Left, Right |
List View Columns
(Name) | Text | TextAlign | Width |
colNumber | # | 25 | |
colAbbreviation | Abbrv | Center | |
colStateName | State Name | 125 | |
colAreaSqrKms | Area (Sqr Kms) | Right | 90 |
colCapital | Capital | 100 |
Creating an Array of Objects
To create a list of objects, you can declare an array variable and use the square brackets to specify its size. Here is an example:
using System;
using static System.Console;
public class Exercise
{
public static int Main(string[] args)
{
Employee[] staffMembers = new Employee[3];
return 0;
}
}
public enum EmploymentStatus { FullTime, PartTime, Unknown }
public class Employee
{
public long EmployeeNumber { get; set; }
public string EmployeeName { get; set; }
public EmploymentStatus Status { get; set; }
public double HourlySalary { get; set; }
}
You can also use the var or the dynamic keyword to create the array but omit the first square brackets. Here are examples:
using System;
using static System.Console;
public class Exercise
{
public static void Main(string[] args)
{
var staffMembers = new Employee[8];
dynamic contractors = new Employee[5];
}
}
Practical Learning: Creating an Array of Objects
using System.Windows.Forms;
namespace CountriesStatistics5
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
State[] states = new State[6];
}
}
}
Initializing an Array of Objects
If you create an array of objects, you can then access each member using its index, allocate memory for it using the new operator, then access each of its fields or properties, still using its index, to assign it the desired value. Here is an example:
using System;
using static System.Console;
public class Exercise
{
public static int Main(string[] args)
{
Employee[] staffMembers = new Employee[3];
staffMembers[0] = new Employee();
staffMembers[0].EmployeeNumber = 20204;
staffMembers[0].EmployeeName = "Harry Fields";
staffMembers[0].Status = EmploymentStatus.FullTime;
staffMembers[0].HourlySalary = 16.85;
staffMembers[1] = new Employee();
staffMembers[1].EmployeeNumber = 92857;
staffMembers[1].EmployeeName = "Jennifer Almonds";
staffMembers[1].Status = EmploymentStatus.FullTime;
staffMembers[1].HourlySalary = 22.25;
staffMembers[2] = new Employee();
staffMembers[2].EmployeeNumber = 42963;
staffMembers[2].EmployeeName = "Sharon Culbritt";
staffMembers[2].Status = EmploymentStatus.PartTime;
staffMembers[2].HourlySalary = 10.95;
return 1;
}
}
As an alternative, you can initialize each member of the array when creating it. To do this, you may need a constructor that takes each member you want to initialize, as argument. Here is an example of such a constructor:
public enum EmploymentStatus
{
FullTime,
PartTime,
Unknown
};
public class Employee
{
public long EmployeeNumber { get; set; }
public string EmployeeName { get; set; }
public EmploymentStatus Status { get; set; }
public double HourlySalary { get; set; }
public Employee(long number, string name,
EmploymentStatus emplStatus, double salary)
{
EmployeeNumber = number;
EmployeeName = name;
Status = emplStatus;
HourlySalary = salary;
}
}
To initialize an object, before the semi-colon of creating the array, open the curly brackets, allocate memory for each member and specify the value of each field or property. Here are examples:
Employee[] staffMembers = new Employee[]
{
new Employee(20204, "Harry Fields", EmploymentStatus.FullTime, 16.85),
new Employee(92857, "Jennifer Almonds", EmploymentStatus.FullTime, 22.25),
new Employee(42963, "Sharon Culbritt", EmploymentStatus.PartTime, 10.95)
};
If using the var or the dynamic keyword and a constructor to initialize the array, you can omit calling the name of the class before the square brackets. Here is an example:
var staffMembers = new[]
{
new Employee(20204, "Harry Fields", EmploymentStatus.FullTime, 16.85),
new Employee(92857, "Jennifer Almonds", EmploymentStatus.FullTime, 22.25),
new Employee(42963, "Sharon Culbritt", EmploymentStatus.PartTime, 10.95)
};
Practical Learning: Initializing an Array of Objects
using System.Windows.Forms;
namespace CountriesStatistics5
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
State[] states = new State[6];
states[0] = new State() { Abbreviation = "WA", StateName = "Western Australia", AreaSqrKms = 2529875, Capital = "Perth" };
states[1] = new State() { Abbreviation = "SA", StateName = "South Australia", AreaSqrKms = 983482, Capital = "Adelaide" };
states[2] = new State() { Abbreviation = "QLD", StateName = "Queensland", AreaSqrKms = 1730648, Capital = "Brisbane" };
states[3] = new State() { Abbreviation = "NSW", StateName = "New South Wales", AreaSqrKms = 800642, Capital = "Sydney" };
states[4] = new State() { Abbreviation = "VIC", StateName = "Victoria", AreaSqrKms = 227416, Capital = "Melbourne" };
states[5] = new State() { Abbreviation = "TAS", StateName = "Tasmania", AreaSqrKms = 68401, Capital = "Hobart" };
}
}
}
Accessing the Members of an Array of Objects
Accessing an Object by Index
After creating and initializing the array, you can use it as you see fit. For example, you may want to display its values to the user. You can access any member of the array by its index, then use the same index to get its field(s) and consequently its (their) value(s). Here is an example:
using System; using static System.Console; public class Exercise { public static int Main(string[] args) { Employee[] staffMembers = new Employee[] { new Employee(20204, "Harry Fields", EmploymentStatus.FullTime, 16.85), new Employee(92857, "Jennifer Almonds", EmploymentStatus.FullTime, 22.25), new Employee(42963, "Sharon Culbritt", EmploymentStatus.PartTime, 10.95) }; Title = "Employee Record"; WriteLine("Employee Record"); WriteLine("------------------------------------"); WriteLine("Employee #: {0}", staffMembers[2].EmployeeNumber); WriteLine("Full Name: {0}", staffMembers[2].EmployeeName); WriteLine(string.Format("Status: {0}", staffMembers[2].Status)); WriteLine($"Hourly Salary: {staffMembers[2].HourlySalary}"); WriteLine("===================================="); return 0; } } public enum EmploymentStatus { FullTime, PartTime, Unknown } public class Employee { public long EmployeeNumber { get; set; } public string EmployeeName { get; set; } public EmploymentStatus Status { get; set; } public double HourlySalary { get; set; } public Employee(long number, string name, EmploymentStatus emplStatus, double salary) { EmployeeNumber = number; EmployeeName = name; Status = emplStatus; HourlySalary = salary; } }
This would produce:
Employee Record ------------------------------------ Employee #: 42963 Full Name: Sharon Culbritt Status: PartTime Hourly Salary: 10.95 ==================================== Press any key to continue . . .
Once again, remember that the index you use must be between 0 (included) and the number of objects - 1. Otherwise, the application would throw an exception.
Looping to Access an Object
You can use a loop (while, do...while, or for) to access a member of the array using the member's index.
Practical Learning: Looping for an Array of Objects
using System.Windows.Forms;
namespace CountriesStatistics5
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
State[] states = new State[6];
states[0] = new State() { Abbreviation = "WA", StateName = "Western Australia", AreaSqrKms = 2529875, Capital = "Perth" };
states[1] = new State() { Abbreviation = "SA", StateName = "South Australia", AreaSqrKms = 983482, Capital = "Adelaide" };
states[2] = new State() { Abbreviation = "QLD", StateName = "Queensland", AreaSqrKms = 1730648, Capital = "Brisbane" };
states[3] = new State() { Abbreviation = "NSW", StateName = "New South Wales", AreaSqrKms = 800642, Capital = "Sydney" };
states[4] = new State() { Abbreviation = "VIC", StateName = "Victoria", AreaSqrKms = 227416, Capital = "Melbourne" };
states[5] = new State() { Abbreviation = "TAS", StateName = "Tasmania", AreaSqrKms = 68401, Capital = "Hobart" };
ListViewItem lviState = null;
for (int counter = 0; counter < states.Length - 1; counter++)
{
lviState = new ListViewItem((counter + 1).ToString());
lviState.SubItems.Add(states[counter].Abbreviation);
lviState.SubItems.Add(states[counter].StateName);
lviState.SubItems.Add(states[counter].AreaSqrKms.ToString());
lviState.SubItems.Add(states[counter].Capital);
lvwCountry.Items.Add(lviState);
}
}
}
}
A Field as an Array
Introduction
Like a primitive type, an array of objects can be made a field of a class. You can primarily declare the array and specify its size. Here is an example:
public class CompanyRecords
{
Employee[] employees = new Employee[12];
}
After doing this, you can then initialize the array from the index of each member. Alternatively, as we saw for field arrays of primitive types, you can declare the array in the body of the class, then use a constructor or another method of the class to allocate memory for it. Here is an example:
public class Employee { } public class CompanyRecords { Employee[] employees; public CompanyRecords() { employees = new Employee[12]; } }
Initializing a Field of Array Type
To initialize the array, remember that each member is an object whose memory must be allocated on the heap. Therefore, apply the new operator on each member of the array to allocate memory for it, and then initialize it. Here is an example:
public enum EmploymentStatus
{
FullTime,
PartTime,
Unknown
};
public class Employee
{
public long EmployeeNumber { get; set; }
public string EmployeeName { get; set; }
public EmploymentStatus Status { get; set; }
public double HourlySalary { get; set; }
}
public class CompanyRecords
{
Employee[] employees;
public CompanyRecords()
{
employees = new Employee[2];
employees[0] = new Employee();
employees[0].EmployeeNumber = 70128;
employees[0].EmployeeName = "Frank Dennison";
employees[0].Status = EmploymentStatus.PartTime;
employees[0].HourlySalary = 8.65;
employees[1] = new Employee();
employees[1].EmployeeNumber = 24835;
employees[1].EmployeeName = "Jeffrey Arndt";
employees[1].Status = EmploymentStatus.Unknown;
employees[1].HourlySalary = 16.05;
}
}
If the class used as field has an appropriate constructor, you can use it to initialize each member of the array. Here is an example:
public class CompanyRecords { Employee[] employees; public CompanyRecords() { employees = new Employee[] { new Employee(70128, "Justine Hearson", EmploymentStatus.PartTime, 10.62), new Employee(24835, "Bertha Hack", EmploymentStatus.FullTime, 18.94), new Employee(70128, "Frank Dennison", EmploymentStatus.Seasonal, 12.48), new Employee(24835, "Jeffrey Arndt", EmploymentStatus.PartTime, 16.05), }; } }
Using the Array
Once you have created and initialized the array, you can use it as you see fit, such as displaying its values to the user. You must be able to access each member of the array, using its index. Once you have accessed a member of the array, you can get to its fields.
Properties of Array Types
The Value of a Property from an Array
You can create a property in a class so that the property is an array. If you want to use a property that includes both a getter and a setter sections, you can use a field that was created as an array. Here is an example:
public class Region
{
public string Designation { get; set; }
public string Description { get; set; }
}
public class State
{
private Region[] rgn;
public Region[] Area
{
get
{
return rgn;
}
set
{
rgn = value;
}
}
}
Otherwise, you can create the property as an automatic one.
To specify the value of a property of array type, you can get an array member using its index and assign it to the desired member. Here are examples:
using System; using static System.Console; public class Exercise { public static int Main(string[] args) { Region[] regions = new Region[] { new Region() { Designation = "East North Central" }, new Region() { Designation = "East South Central" }, new Region() { Designation = "New England" } }; State[] states = new State[] { new State() { Region = regions[1], Abbreviation = "KY", StateName = "Kentucky" }, new State() { StateName = "Maine", Region = regions[2], AreaSqrMiles = 35387 }, new State() { Capital = "Boston", StateName = "Massachusetts", Region = regions[2] }, new State() { Abbreviation = "AL", Region = regions[1], StateName = "Alabama" }, new State() { Region = regions[0], StateName = "Michigan", AreaSqrMiles = 98810 } }; WriteLine("===================================="); return 0; } } public class Region { public string Designation { get; set; } public string Description { get; set; } } public class State { internal Region Region; private Region[] rgn; public Region[] Area { get { return rgn; } set { rgn = value; } } public string Abbreviation { get; internal set; } public string StateName { get; internal set; } public int AreaSqrMiles { get; internal set; } public string Capital { get; set; } }
A Property of an Array Type
A property can be an array type. In this case, the values of the property would be held by an array.
Practical Learning: Creating a Property of Array Type
namespace CountriesStatistics5
{
public class State : GovernmentEntity, IAbbreviated
{
public string Abbreviation { get; set; }
public string[] SignificantCities { get; set; }
}
}
Initializing a Property of Array Type
To initialize a property that is an array or to specify its value(s), you can create an array and assign it to the property. You can also create the array directly on the property. If the main class is used as an array, all properties can have the same number of values or each property can have a different number of values.
Practical Learning: Initializing the Properties of Array Type
using System.Windows.Forms; namespace CountriesStatistics5 { public partial class Form1 : Form { public Form1() { InitializeComponent(); string[] WesternAustralia = new string[3] { "Perth", "Ellenbrook", "Geraldton" }; State[] states = new State[6]; states[0] = new State() { Abbreviation = "WA", StateName = "Western Australia", AreaSqrKms = 2529875, Capital = "Perth" }; states[0].SignificantCities = WesternAustralia; states[1] = new State() { Abbreviation = "SA", StateName = "South Australia", AreaSqrKms = 983482, Capital = "Adelaide" }; states[1].SignificantCities = new string[] { "Adelaide", "Mount Gambier", "Port Lincoln" }; states[2] = new State() { Abbreviation = "QLD", StateName = "Queensland", AreaSqrKms = 1730648, Capital = "Brisbane", SignificantCities = new string[] { "Brisbane", "Sunshine Coast", "Gold Coast" } }; states[3] = new State() { Abbreviation = "NSW", StateName = "New South Wales", AreaSqrKms = 800642, Capital = "Sydney", SignificantCities = new string[] { "Sydney", "Newcastle", "Queanbeyan" } }; states[4] = new State() { Abbreviation = "VIC", StateName = "Victoria", AreaSqrKms = 227416, Capital = "Melbourne" }; states[5] = new State() { Abbreviation = "TAS", StateName = "Tasmania", AreaSqrKms = 68401, Capital = "Hobart" }; states[4].SignificantCities = new string[] { "Geelong", "Ballarat", "Bendigo" }; // These are the significant cities for Tasmania states[5].SignificantCities = new string[4]; states[5].SignificantCities[0] = "Devonport"; states[5].SignificantCities[1] = "Hobart"; states[5].SignificantCities[2] = "Strahan"; ListViewItem lviState = null; for (int counter = 0; counter < states.Length - 1; counter++) { lviState = new ListViewItem((counter + 1).ToString()); lviState.SubItems.Add(states[counter].Abbreviation); lviState.SubItems.Add(states[counter].StateName); lviState.SubItems.Add(states[counter].AreaSqrKms.ToString()); lviState.SubItems.Add(states[counter].Capital); lvwCountry.Items.Add(lviState); } } } }
Accessing the Property
To get the value of each element of a property that is an array type, you can apply the square brackets to the property and pass the index of the desired element.
Practical Learning: Accessing a Property of an Array Type
List View Columns
(Name) | Text | Width |
colSignificantCities | Significant Cities | 200 |
using System.Windows.Forms;
namespace CountriesStatistics5
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
string[] WesternAustralia = new string[3]
{
"Perth", "Ellenbrook", "Geraldton"
};
. . .
ListViewItem lviState = null;
for (int counter = 0; counter < states.Length - 1; counter++)
{
lviState = new ListViewItem((counter + 1).ToString());
lviState.SubItems.Add(states[counter].Abbreviation);
lviState.SubItems.Add(states[counter].StateName);
lviState.SubItems.Add(states[counter].AreaSqrKms.ToString());
lviState.SubItems.Add(states[counter].Capital);
lviState.SubItems.Add(states[counter].SignificantCities[0] + ", " + states[counter].SignificantCities[1] + ", " + states[counter].SignificantCities[2]);
lvwCountry.Items.Add(lviState);
}
}
}
}
List View Columns
(Name) | Text | Width |
colSignificantCities | Significant Cities | 400 |
using System.Text; using System.Windows.Forms; namespace CountriesStatistics5 { public partial class Form1 : Form { public Form1() { InitializeComponent(); string[] WesternAustralia = new string[1] { "Perth" }; State[] states = new State[6]; states[0] = new State() { Abbreviation = "WA", StateName = "Western Australia", AreaSqrKms = 2529875, Capital = "Perth" }; states[0].SignificantCities = WesternAustralia; states[1] = new State() { Abbreviation = "SA", StateName = "South Australia", AreaSqrKms = 983482, Capital = "Adelaide" }; states[1].SignificantCities = new string[] { "Adelaide", "Mount Gambier", "Port Lincoln" }; states[2] = new State() { Abbreviation = "QLD", StateName = "Queensland", AreaSqrKms = 1730648, Capital = "Brisbane", SignificantCities = new string[] { "Brisbane", "Sunshine Coast", "Gold Coast", "Townsville", "Cairns", "Toowoomba" } }; states[3] = new State() { Abbreviation = "NSW", StateName = "New South Wales", AreaSqrKms = 800642, Capital = "Sydney", SignificantCities = new string[] { "Sydney", "Newcastle", "Queanbeyan", "Tweed Heads", "Maitland", "Wollongong", "Albury" } }; states[4] = new State() { Abbreviation = "VIC", StateName = "Victoria", AreaSqrKms = 227416, Capital = "Melbourne" }; states[5] = new State() { Abbreviation = "TAS", StateName = "Tasmania", AreaSqrKms = 68401, Capital = "Hobart" }; states[4].SignificantCities = new string[] { "Melbourne", "Geelong", "Ballarat", "Bendigo", "Wodonga" }; // These are the significant cities for Tasmania states[5].SignificantCities = new string[2]; states[5].SignificantCities[0] = "Hobart"; states[5].SignificantCities[1] = "Launceston"; ListViewItem lviState = null; for (int counter = 0; counter < states.Length - 1; counter++) { lviState = new ListViewItem((counter + 1).ToString()); lviState.SubItems.Add(states[counter].Abbreviation); lviState.SubItems.Add(states[counter].StateName); lviState.SubItems.Add(states[counter].AreaSqrKms.ToString()); lviState.SubItems.Add(states[counter].Capital); StringBuilder sbCities = new StringBuilder(); for (int city = 0; city <= states[counter].SignificantCities.Length - 1; city++) sbCities.Append(states[counter].SignificantCities[city] + ", "); sbCities.Remove(sbCities.Length - 2, 2); lviState.SubItems.Add(sbCities.ToString()); lvwCountry.Items.Add(lviState); } } } }
Arrays of Objects and Methods
Passing an Array of Objects as Argument
As done for an array of a primitive type, you can pass an array of objects as arguments. You follow the same rules we reviewed; that is, in the parentheses of a method, enter the class name, the empty square brackets, and the name of the argument. Here is an example:
public class CompanyRecords { public CompanyRecords(Employee[] employees) { } }
You can then access each member of the argument and do what you judge necessary. For example, you can display the values that the argument is holding. To call a method that takes an array of objects, in its parentheses, just enter the name of the array. Here is an example:
public class CompanyRecords { public CompanyRecords(Employee[] employees) { Employees = new Employee[] { new Employee(70128, "Justine Hearson", EmploymentStatus.PartTime, 10.62), new Employee(24835, "Bertha Hack", EmploymentStatus.FullTime, 18.94), new Employee(70128, "Frank Dennison", EmploymentStatus.Seasonal, 12.48), new Employee(24835, "Jeffrey Arndt", EmploymentStatus.PartTime, 16.05), }; } } public class Exercise { private void Present() { Employee[] Values = new Employee[4]; CompanyRecords records = new CompanyRecords(Values); } }
As stated for arrays of primitive types, an array of objects passed as argument is treated as a reference. You can use this characteristic of arrays to initialize the array. You can also indicate that the array is passed by reference by preceding its name with the ref keyword.
Practical Learning: Passing an Array of Objects as Argument
using System.Text; using System.Windows.Forms; namespace CountriesStatistics5 { public partial class Form1 : Form { public Form1() { InitializeComponent(); string[] WesternAustralia = new string[1] { "Perth" }; . . . // These are the significant cities for Tasmania states[5].SignificantCities = new string[2]; states[5].SignificantCities[0] = "Hobart"; states[5].SignificantCities[1] = "Launceston"; Present(states); } void Present(State[] administrations) { ListViewItem lviState = null; for (int counter = 0; counter < administrations.Length - 1; counter++) { lviState = new ListViewItem((counter + 1).ToString()); lviState.SubItems.Add(administrations[counter].Abbreviation); lviState.SubItems.Add(administrations[counter].StateName); lviState.SubItems.Add(administrations[counter].AreaSqrKms.ToString()); lviState.SubItems.Add(administrations[counter].Capital); StringBuilder sbCities = new StringBuilder(); for (int city = 0; city <= administrations[counter].SignificantCities.Length - 1; city++) sbCities.Append(administrations[counter].SignificantCities[city] + ", "); sbCities.Remove(sbCities.Length - 2, 2); lviState.SubItems.Add(sbCities.ToString()); lvwCountry.Items.Add(lviState); } } } }
An array of objects can be returned from a method. To indicate this when defining the method, first type the name of the class followed by square brackets. Here is an example:
public class CompanyRecords
{
public Employee[] RegisterEmployees()
{
}
}
In the body of the method, you can take care of anythin you want. The major rule to follow is that, before exiting the method, you must return an array of the class indicated on the left side of the method name.
To use the method, you can simply call it. If you want, since the method returns an array, you can retrieve that list and store it in a local array for later use. Here is an example:
using System; using static System.Environment; using static System.Windows.Forms.MessageBox; public enum EmploymentStatus { FullTime, PartTime, Seasonal, Unknown } public class Employee { public long EmployeeNumber { get; set; } public string EmployeeName { get; set; } public EmploymentStatus Status { get; set; } public double HourlySalary { get; set; } public Employee(long number, string name, EmploymentStatus emplStatus, double salary) { EmployeeNumber = number; EmployeeName = name; Status = emplStatus; HourlySalary = salary; } } public class CompanyRecords { public Employee[] RegisterEmployees() { Employee[] Employees = new Employee[] { new Employee(70128, "Justine Hearson", EmploymentStatus.PartTime, 10.62), new Employee(24835, "Bertha Hack", EmploymentStatus.FullTime, 18.94), new Employee(70128, "Frank Dennison", EmploymentStatus.Seasonal, 12.48), new Employee(24835, "Jeffrey Arndt", EmploymentStatus.PartTime, 16.05), }; return Employees; } } public class Exercise { public void Present() { CompanyRecords records = new CompanyRecords(); Employee[] contractors = records.RegisterEmployees(); records.PrepareRecords(ref contractors); } }
Practical Learning: Ending the Lesson
using System.Text; using System.Windows.Forms; namespace CountriesStatistics5 { public partial class Form1 : Form { public Form1() { InitializeComponent(); State[] states = Create(); Present(states); } void Present(State[] administrations) { ListViewItem lviState = null; for (int counter = 0; counter < administrations.Length - 1; counter++) { lviState = new ListViewItem((counter + 1).ToString()); lviState.SubItems.Add(administrations[counter].Abbreviation); lviState.SubItems.Add(administrations[counter].StateName); lviState.SubItems.Add(administrations[counter].AreaSqrKms.ToString()); lviState.SubItems.Add(administrations[counter].Capital); StringBuilder sbCities = new StringBuilder(); for (int city = 0; city <= administrations[counter].SignificantCities.Length - 1; city++) sbCities.Append(administrations[counter].SignificantCities[city] + ", "); sbCities.Remove(sbCities.Length - 2, 2); lviState.SubItems.Add(sbCities.ToString()); lvwCountry.Items.Add(lviState); } } State[] Create() { string[] WesternAustralia = new string[1] { "Perth" }; State[] states = new State[6]; states[0] = new State() { Abbreviation = "WA", StateName = "Western Australia", AreaSqrKms = 2529875, Capital = "Perth" }; states[0].SignificantCities = WesternAustralia; states[1] = new State() { Abbreviation = "SA", StateName = "South Australia", AreaSqrKms = 983482, Capital = "Adelaide" }; states[1].SignificantCities = new string[] { "Adelaide", "Mount Gambier", "Port Lincoln" }; states[2] = new State() { Abbreviation = "QLD", StateName = "Queensland", AreaSqrKms = 1730648, Capital = "Brisbane", SignificantCities = new string[] { "Brisbane", "Sunshine Coast", "Gold Coast", "Townsville", "Cairns", "Toowoomba" } }; states[3] = new State() { Abbreviation = "NSW", StateName = "New South Wales", AreaSqrKms = 800642, Capital = "Sydney", SignificantCities = new string[] { "Sydney", "Newcastle", "Queanbeyan", "Tweed Heads", "Maitland", "Wollongong", "Albury" } }; states[4] = new State() { Abbreviation = "VIC", StateName = "Victoria", AreaSqrKms = 227416, Capital = "Melbourne" }; states[5] = new State() { Abbreviation = "TAS", StateName = "Tasmania", AreaSqrKms = 68401, Capital = "Hobart" }; states[4].SignificantCities = new string[] { "Melbourne", "Geelong", "Ballarat", "Bendigo", "Wodonga" }; // These are the significant cities for Tasmania states[5].SignificantCities = new string[2]; states[5].SignificantCities[0] = "Hobart"; states[5].SignificantCities[1] = "Launceston"; return states; } } }
|
||
Previous | Copyright © 2001-2020, FunctionX | Next |
|