390 likes | 456 Views
Chapter 6: Using Arrays. Declaring an Array and Assigning Values to Array Elements. Array A list of data items that all have the same data type and the same name Each item is distinguished from the others by an index Declaring and creating an array double[] sales; sales = new double[20];
E N D
Chapter 6: Using Arrays
Declaring an Array and Assigning Values to Array Elements • Array • A list of data items that all have the same data type and the same name • Each item is distinguished from the others by an index • Declaring and creating an array double[] sales; sales = new double[20]; • new operator • Used to create objects Microsoft Visual C# 2012, Fifth Edition
Declaring an Array and Assigning Values to Array Elements (cont’d.) • Array element • Each object in an array • Subscript (or index) • An integer contained within square brackets that indicates the position of one of an array’s elements • An array’s elements are numbered beginning with 0 • “Off by one” error • Occurs when you forget that the first element in an array is element 0 Microsoft Visual C# 2012, Fifth Edition
Declaring an Array and Assigning Values to Array Elements (cont’d.) Microsoft Visual C# 2012, Fifth Edition
Declaring an Array and Assigning Values to Array Elements (cont’d.) • Assigning a value to an array element sales[0] = 2100.00; • Printing an element value Console.WriteLine(sales[19]); Microsoft Visual C# 2012, Fifth Edition
Initializing an Array • In C#, arrays are objects • Arrays are instances of a class named System.Array • Initializing objects • Numeric fields: 0 • Character fields: ‘\u0000’ or null • bool fields: false • Initializer list • A list of values provided for an array Microsoft Visual C# 2012, Fifth Edition
Initializing an Array (cont’d.) • Initializer list examples int[] myScores = new int[5] {100, 76, 88, 100, 90}; int[] myScores = new int[] {100, 76, 88,100, 90}; int[] myScores = {100, 76, 88, 100, 90}; Microsoft Visual C# 2012, Fifth Edition
Accessing Array Elements • The power of arrays becomes apparent when you use subscripts • Using a loop to perform arithmetic on each element for(int sub = 0; sub < 5; ++sub) myScores[sub] += 3; Microsoft Visual C# 2012, Fifth Edition
Using the Length Property • Length property • A member of the System.Array class • Automatically holds an array’s length • Examples int[] myScores = {100, 76, 88, 100, 90}; Console.WriteLine("Array size is {0}", myScores.Length); for(int x = 0; x < myScores.Length; ++x) Console.WriteLine(myScores[x]); Microsoft Visual C# 2012, Fifth Edition
Using foreach • foreach statement • Cycles through every array element without using a subscript • Uses a temporary iteration variable • Automatically holds each array value in turn • Example double[] payRate = {6.00, 7.35, 8.12, 12.45, 22.22}; foreach(double money in payRate) Console.WriteLine("{0}", money.ToString("C")); Microsoft Visual C# 2012, Fifth Edition
Using foreach(cont’d.) Used when you want to access every array element Since the iteration variable is read-only, you cannot assign a value to it Microsoft Visual C# 2012, Fifth Edition
Searching an Array Using a Loop • Searching options • Using a for loop • Using a while loop Microsoft Visual C# 2012, Fifth Edition
Using a for Loop to Search an Array • Use a for statement to loop through the array • Set a Boolean variable to true when a match is found • The solution is valid even with parallel arrays Microsoft Visual C# 2012, Fifth Edition
Using a for Loop to Search an Array (cont’d.) Microsoft Visual C# 2012, Fifth Edition
Using a while Loop to Search an Array Use a while loop to search for a match Microsoft Visual C# 2012, Fifth Edition
Using a while Loop to Search an Array (cont’d.) Microsoft Visual C# 2012, Fifth Edition
Using the BinarySearch(), Sort(), and Reverse()Methods The System.Array class contains a variety of useful, built-in methods that can search, sort, and manipulate array elements Microsoft Visual C# 2012, Fifth Edition
Using the BinarySearch() Method • BinarySearch() method • Finds a requested value in a sorted array • A member of the System.Array class • Do not use BinarySearch() under these circumstances: • If your array items are not arranged in ascending order • If your array holds duplicate values and you want to find all of them • If you want to find a range match rather than an exact match Microsoft Visual C# 2012, Fifth Edition
Using the BinarySearch() Method (cont’d.) Microsoft Visual C# 2012, Fifth Edition
Using the BinarySearch() Method (cont’d.) Microsoft Visual C# 2012, Fifth Edition
Using the Sort() Method • Sort() method • Arranges array items in ascending order • Use it by passing the array name to Array.Sort() Microsoft Visual C# 2012, Fifth Edition
Using the Sort() Method (cont’d.) Microsoft Visual C# 2012, Fifth Edition
Using the Sort() Method (cont’d.) Microsoft Visual C# 2012, Fifth Edition
Using the Reverse() Method • Reverse() method • Reverses the order of items in an array • An element that starts in position 0 is relocated to position Length – 1 • Use it by passing the array name to the method Microsoft Visual C# 2012, Fifth Edition
Using the Reverse() Method (cont’d.) Microsoft Visual C# 2012, Fifth Edition
Using the Reverse() Method (cont’d.) Microsoft Visual C# 2012, Fifth Edition
Using Multidimensional Arrays • One-dimensional or single-dimensional array • Picture it as a column of values • Elements can be accessed using a single subscript • Multidimensional array • Requires multiple subscripts to access the array elements • Two-dimensional array • Has two or more columns of values for each row • Also called a rectangulararray, a matrix, or a table Microsoft Visual C# 2012, Fifth Edition
Using Multidimensional Arrays (cont’d.) Microsoft Visual C# 2012, Fifth Edition
Using Multidimensional Arrays (cont’d.) Microsoft Visual C# 2012, Fifth Edition
Using Multidimensional Arrays (cont’d.) Microsoft Visual C# 2012, Fifth Edition
Using Multidimensional Arrays (cont’d.) Microsoft Visual C# 2012, Fifth Edition
Using Multidimensional Arrays (cont’d.) Three-dimensional array Microsoft Visual C# 2012, Fifth Edition
Using Jagged Arrays • Jagged array • A one-dimensional array in which each element is another one-dimensional array • Each row can be a different length Microsoft Visual C# 2012, Fifth Edition
Using Jagged Arrays (cont’d.) Microsoft Visual C# 2012, Fifth Edition
Array Issues in GUI Programs If array values change based on user input, the array must be stored outside any method that reacts to the user’s event Microsoft Visual C# 2012, Fifth Edition
Array Issues in GUI Programs (cont’d.) Microsoft Visual C# 2012, Fifth Edition
Array Issues in GUI Programs (cont’d.) Microsoft Visual C# 2012, Fifth Edition