Csharp/CSharp Tutorial/Data Structure/Array object
Содержание
Arrays of Objects
<source lang="csharp">using System; class Employee {
public Employee(string name, float billingRate) { this.name = name; this.billingRate = billingRate; } public float CalculateCharge(float hours) { return(hours * billingRate); } public string TypeName() { return("Employee"); } private string name; protected float billingRate;
} class Manager: Employee {
public Manager(string name, float billingRate) : base(name, billingRate) { } public new float CalculateCharge(float hours) { if (hours < 1.0F) hours = 1.0F; // minimum charge. return(hours * billingRate); } public new string TypeName() { return("Civil Employee"); }
} class MainClass {
public static void Main() { // create an array of Employees Employee[] earray = new Employee[2]; earray[0] = new Employee("A", 15.50F); earray[1] = new Manager("B", 40F); Console.WriteLine("{0} charge = {1}", earray[0].TypeName(), earray[0].CalculateCharge(2F)); Console.WriteLine("{0} charge = {1}", earray[1].TypeName(), earray[1].CalculateCharge(0.75F)); }
}</source>
Employee charge = 31 Employee charge = 30
A two dimensional array of objects
<source lang="csharp">using System; public class Employee {
public string name; public int no; public Employee(string name,int no) { this.name = name; this.no = no; }
}
class MainClass {
public static void Main() { Employee[,,] empArray = new Employee[10, 5, 3]; empArray[1, 3, 2] = new Employee("S", 3); empArray[4, 1, 2] = new Employee("A", 9); Console.WriteLine("empArray.Rank (number of dimensions) = " + empArray.Rank); Console.WriteLine("empArray.Length (number of elements) = " + empArray.Length); for (int x = 0; x < empArray.GetLength(0); x++) { for (int y = 0; y < empArray.GetLength(1); y++) { for (int z = 0; z < empArray.GetLength(2); z++) { if (empArray[x, y, z] != null) { Console.WriteLine("empArray[" + x + ", " + y + ", " + z +"].name = " + empArray[x, y, z].name); Console.WriteLine("empArray[" + x + ", " + y + ", " + z +"].no = " + empArray[x, y, z].no); } } } } }
}</source>
empArray.Rank (number of dimensions) = 3 empArray.Length (number of elements) = 150 empArray[1, 3, 2].name = S empArray[1, 3, 2].no = 3 empArray[4, 1, 2].name = A empArray[4, 1, 2].no = 9
string arrays
<source lang="csharp">using System; class MainClass {
public static void Main() { string[] stringArray = new string[2]; Console.WriteLine("stringArray[0] = " + stringArray[0]); stringArray[0] = "Hello"; stringArray[1] = "World"; foreach (string myString in stringArray) { Console.WriteLine("myString = " + myString); } }
}</source>
stringArray[0] = myString = Hello myString = World
Use object to create a generic array.
<source lang="csharp">using System;
class MainClass {
public static void Main() { object[] ga = new object[10]; // store ints for(int i=0; i < 3; i++) ga[i] = i; // store doubles for(int i=3; i < 6; i++) ga[i] = (double) i / 2; // store two strings, a bool, and a char ga[6] = "String"; ga[7] = true; ga[8] = "X"; ga[9] = "asdf"; for(int i = 0; i < ga.Length; i++) Console.WriteLine("ga[" + i + "]: " + ga[i] + " "); }
}</source>
ga[0]: 0 ga[1]: 1 ga[2]: 2 ga[3]: 1.5 ga[4]: 2 ga[5]: 2.5 ga[6]: String ga[7]: True ga[8]: X ga[9]: asdf
Use the Sort() method to sort the elements in a char array
<source lang="csharp">using System; class MainClass {
public static void Main() { char[] charArray = {"w", "e", "l", "c", "o", "m", "e"}; Array.Sort(charArray); // sort the elements Console.WriteLine("Sorted charArray:"); for (int i = 0; i < charArray.Length; i++) { Console.WriteLine("charArray[" + i + "] = " + charArray[i]); } }
}</source>
Sorted charArray: charArray[0] = c charArray[1] = e charArray[2] = e charArray[3] = l charArray[4] = m charArray[5] = o charArray[6] = w