If using the var 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: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data.SqlClient; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { 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) }; } } |
|
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 System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data.SqlClient; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { var 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) }; Response.Write("<pre><b>Employee Record</b><hr></hr>"); Response.Write("<br />Employee #: " + staffMembers[2].EmployeeNumber); Response.Write("<br />Full Name: #: " + staffMembers[2].EmployeeName); Response.Write("<br />Status: #: " + staffMembers[2].Status); Response.Write("<br />Hourly Wage #: " + staffMembers[2].HourlySalary + "</pre>"); } } This would produce: Once again, remember that the index you use must be higher than 0 but lower than the number of members - 1. Otherwise, you would get an IndexOutRangeException exception. In the same way, you can use a for loop to access all members of the array using their index. To access each member of the array, you can use the foreach operator that allows you to use a name for each member and omit the square brackets.
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: using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary> /// Summary description for CompanyRecords /// </summary> public class CompanyRecords { Employee[] Employees = new Employee[2]; public CompanyRecords() { } } 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. To initialize the array, remember that each member is a value that must be allocated on the heap. Therefore, apply the new operator on each member of the array to allocate its memory, and then initialize it. Here is an example: using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary> /// Summary description for CompanyRecords /// </summary> public class CompanyRecords { Employee[] Employees = new Employee[2]; 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: using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary> /// Summary description for CompanyRecords /// </summary> public class CompanyRecords { Employee[] Employees = new Employee[2]; 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), }; } }
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 member, you can get to its fields or properties.
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: using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary> /// Summary description for CompanyRecords /// </summary> 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. As stated for an array of primitive type, 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. 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: using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary> /// Summary description for CompanyRecords /// </summary> public class CompanyRecords { public Employee[] RegisterEmployees() { } } In the body of the method, you can take care of any assignment 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 series and store it in a local array for later use.
|
|
|
||
Previous | Copyright © 2009-2016, FunctionX, Inc. | Home |
|