chapter 6: using arrays - panelturgaybilgin/2013-2014-bahar/se374... · 2016-02-17 · chapter 6:...

39
Chapter 6: Using Arrays

Upload: dohuong

Post on 04-Jul-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

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

2 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

3 Microsoft Visual C# 2012, Fifth Edition

Declaring an Array and Assigning Values to Array Elements (cont’d.)

4 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]);

5 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

6 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};

7 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;

8 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]);

9 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"));

10 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

11 Microsoft Visual C# 2012, Fifth Edition

Searching an Array Using a Loop

• Searching options – Using a for loop

– Using a while loop

12 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

13 Microsoft Visual C# 2012, Fifth Edition

14 Microsoft Visual C# 2012, Fifth Edition

Using a for Loop to Search an Array (cont’d.)

15 Microsoft Visual C# 2012, Fifth Edition

Using a while Loop to Search an Array

• Use a while loop to search for a match

16 Microsoft Visual C# 2012, Fifth Edition

17 Microsoft Visual C# 2012, Fifth Edition

Using a while Loop to Search an Array (cont’d.)

18 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

19 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

20 Microsoft Visual C# 2012, Fifth Edition

21 Microsoft Visual C# 2012, Fifth Edition

Using the BinarySearch() Method (cont’d.)

Using the BinarySearch() Method (cont’d.)

22 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()

23 Microsoft Visual C# 2012, Fifth Edition

Using the Sort() Method (cont’d.)

24 Microsoft Visual C# 2012, Fifth Edition

Using the Sort() Method (cont’d.)

25 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

26 Microsoft Visual C# 2012, Fifth Edition

Using the Reverse() Method (cont’d.)

27 Microsoft Visual C# 2012, Fifth Edition

Using the Reverse() Method (cont’d.)

28 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 rectangular array, a matrix, or a table

29 Microsoft Visual C# 2012, Fifth Edition

Using Multidimensional Arrays (cont’d.)

30 Microsoft Visual C# 2012, Fifth Edition

Using Multidimensional Arrays (cont’d.)

31 Microsoft Visual C# 2012, Fifth Edition

Using Multidimensional Arrays (cont’d.)

32 Microsoft Visual C# 2012, Fifth Edition

Using Multidimensional Arrays (cont’d.)

33 Microsoft Visual C# 2012, Fifth Edition

Using Multidimensional Arrays (cont’d.)

• Three-dimensional array

34 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

35 Microsoft Visual C# 2012, Fifth Edition

36 Microsoft Visual C# 2012, Fifth Edition

Using Jagged Arrays (cont’d.)

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

37 Microsoft Visual C# 2012, Fifth Edition

Array Issues in GUI Programs (cont’d.)

38 Microsoft Visual C# 2012, Fifth Edition

Array Issues in GUI Programs (cont’d.)

39 Microsoft Visual C# 2012, Fifth Edition