visula c# programming lecture 5
DESCRIPTION
lecture 5TRANSCRIPT
1
Arrays
An array stores multiple elements of the same type that type can be simple (value) types or objects
• for arrays of simple types, each element contains one value of the declared type
• for arrays of reference types (e.g., objects), every element of the array is a reference to an object of the data type of the array
Refer to particular element in the array by position number the name of the array followed by the position
number (subscript) of the element in square brackets ([])
• [ ] is considered as an operator
2
Arrays: Declaration and Instantiation
An array can be allocated using the keyword new to specify how many elements the array should hold
bool[] flags; // declare flags flags = new bool[20]; // create an array and make flags a ref.
// now flags is reference to another array flags = new bool[10];
// declare variable grades; create an array; make grades a // reference of the array int[] grades = new int[12];
float[] prices = new float[500];
string[] codes = new string[26];
Time1[] times; times = new Time1[10];
3
Array: An Array of Simple Values
A 12-element array of values.
-45
6
0
72
1543
-89
0
62
-3
1
6453
-78grades[ 11 ]
grades[ 10 ]
grades[ 9 ]
grades[ 8]
grades[ 7 ]
grades[ 4 ]
grades[ 3 ]
grades[ 2 ]
grades[ 1 ]
grades[ 0 ]
grades[ 6 ]
grades[ 5 ]
position number (index or subscript) of the element within array grades
grades
4
Array: An Array of Objects
A 10-element array of objects
ref to obj 0
ref to obj 1
ref to obj 2
ref to obj 3
ref to obj 4
ref to obj 5
ref to obj 6
ref to obj 7
ref to obj 8
ref to obj 9times[ 9 ]
times[ 8]
times[ 7 ]
times[ 4 ]
times[ 3 ]
times[ 2 ]
times[ 1 ]
times[ 0 ]
times[ 6 ]
times[ 5 ]
position number (index or subscript) of the element within array times
times
5
Arrays as Objects
In C#, an array behaves very much like an object declaration and instantiation are like objects
• declare an array variable• create an array using new • make a variable a reference of an array
parameter passing is similar to objects• we will discuss the detail later.
an array has the Length property
6
Array: Length
Each array has a public property called Length that stores the size of the array once an array is created, it has a fixed size
It is referenced using the array name (just like any other object):
grades.Length
Note that Length holds the number of elements, not the largest index
7
Array Instantiation and Initialization in One Step: Initializer List An initializer list can be used to instantiate and
initialize an array in one step The values are delimited by braces and
separated by commas Allocate space for the array – number of elements in initializer list
determines the size of array Elements in array are initialized with the values in the initializer list
The new operator is not used
Examples: int[] units = {147, 323, 89, 933, 540};
char[] letterGrades = {'A', 'B', 'C', 'D', 'F'};
string[] wordList = {“bs703“, “computer", “television"};
8
Recall: Two Types of Variables
A variable represents a cell in memory Value type
int, char, byte, float, double, stringA value type variable stores a value of the type of the variable in the memoryint x = 45;double y = 45.12;
Reference type A variable that “stores” object or array
actually stores a reference to an object or array, e.g.,
A reference is a location in computer’s memory where the object or array itself is storedTime3 t1;t1 = new Time3(11, 45, 59);
45x
45.12y
t1 114559
9
Implications of the Two Types of Variables: Assignment
An assignment of one value variable toanother value variable copies the value, e.g.,int x = 45;double y = 45.12;int z;z = x;
An assignment of one reference variable toanother reference variable copies the reference, e.g.,Time3 t1;t1 = new Time3(11, 45, 59);
Time3 t2;t2 = t1;
t1
45x
45.12y
z 45
t2
114559
10
Two-Dimensional Arrays
A one-dimensional array stores a list of values
A two-dimensional array, also called double-subscripted array, can be thought of as a table of values, with rows and columns a two-dimensional array element is
referenced using two index numbers
11
Two Types of Double-Subscripted Arrays
rectangular arrays often represent tables in which each row is the same
size and each column is the same size, e.g.,int[,] a1 = new int[,] { { 1, 2, 3 }, { 4, 5, 6 } };int[,] a11 = new int[3,4];
jagged arrays• arrays of arrays• arrays that compose jagged arrays can be of different
lengths, e.g.,
int[][] array2 = new int[ 3 ][];array2[ 0 ] = new int[] { 1, 2 };array2[ 1 ] = new int[] { 3 };array2[ 2 ] = new int[] { 4, 5, 6 };array2[2][1] = 3;
12
Double-Subscripted Arrays
Double-subscripted array with three rows and four columns.
Row 0
Row 1
Row 2
Column 1Column 0 Column 2 Column 3
a[0][0] a[0][3]a[0][1] a[0][2]
a[1][0] a[1][3]a[1][1] a[1][2]
a[2][0] a[2][3] a[2][2]
Column index (or subscript)
Row index (or subscript)
Array name
a[2][1]