Finals of Kant get Marx 2.0 : a general politics quiz
Visula C# Programming Lecture 5
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
1
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];
2
3. Array: An Array of Simple Values
grades[ 0 ]
grades[ 1 ]
0
grades[ 3 ]
72
1543
-89
grades[ 6 ]
0
grades[ 7 ]
62
grades[ 8]
-3
grades[ 9 ]
1
grades[ 10 ]
6453
grades[ 11 ]
A 12-element array of values.
grades[ 2 ]
grades[ 5 ]
position number (index or
subscript) of the element
within array grades
6
grades[ 4 ]
grades
-45
-78
3
4. Array: An Array of Objects
times[ 0 ]
times[ 1 ]
ref to obj 2
times[ 3 ]
ref to obj 3
ref to obj 4
ref to obj 5
times[ 6 ]
A 10-element array of objects
times[ 2 ]
times[ 5 ]
position number (index or
subscript) of the element
within array times
ref to obj 1
times[ 4 ]
times
ref to obj 0
ref to obj 6
times[ 7 ]
ref to obj 7
times[ 8]
ref to obj 8
times[ 9 ]
ref to obj 9
4
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
5
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
6
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"};
7
8. Recall: Two Types of Variables
A variable represents a cell in memory
Value type
x
y
int, char, byte, float, double, string
A value type variable stores a value of the
type of the variable in the memory
int x = 45;
double y = 45.12;
45
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 stored
Time3 t1;
t1 = new Time3(11, 45, 59);
t1
11
45
59
8
9. Implications of the Two Types of Variables:
Assignment
An assignment of one value variable to
x
another value variable copies the value, e.g.,
int x = 45;
y
double y = 45.12;
int z;
z
z = x;
An assignment of one reference variable to
another reference variable copies the reference, e.g.,
Time3 t1;
t1 = new Time3(11, 45, 59);
t1
Time3 t2;
t2 = t1;
45
45.12
45
11
45
59
t2
9
10. Two-Dimensional Arrays
A one-dimensional array stores a list of
values
A two-dimensional array, also called doublesubscripted 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
10
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[
array2[ 0 ] = new int[] {
array2[ 1 ] = new int[] {
array2[ 2 ] = new int[] {
array2[2][1] = 3;
3 ][];
1, 2 };
3 };
4, 5, 6 };
11
12. Double-Subscripted Arrays
Column 0
Column 1
Column 2
Column 3
Row 0
a[0][0]
a[0][1]
a[0][2]
a[0][3]
Row 1
a[1][0]
a[1][1]
a[1][2]
a[1][3]
Row 2
a[2][0] a [2][1] a[2][2]
a[2][3]
Column index (or subscript)
Row index (or subscript)
Array name
Double-subscripted array with three rows and four columns.
12