Types and Members in C# applications


Using Data Types

int anInteger = 10000;

short aShort;

aShort = (short) anInteger;

Data Type Functionality

int I = 100;

object O;

O = I;
string S = "1234";

int I = int.Parse(S);
Name Description
String.Insert Insert specified string into instance
String.PadLeft, String.PadRight Add chars to left or right of instance
String.Remove Delete specified number chars from string
String.Replace Replace occurrences of char in string
String.Split Return substrings delimited by specific char
String.Substring Return substring from string
String.ToCharAray Returns arrays of chars making up string
String.ToLower, String.ToUpper Convert string to lower or upper case
String.TrimEnd, String.TrimStart, String.Trim   Remove trailing or leading characters


Name Description
String.Compare   Compare two string objects
String.Concat Concatenate two+ strings
String.Format Format a string
String.Join Concatenate array of strings with specified separator strings


Lesson 2


public const double Pi = 3.14159265;


public enum DaysOfWeek
Monday = 1,
Tuesday = 2,
Wednesday = 3,
Thursday = 4,
Friday = 5,
Saturday = 6,
Sunday = 7
public enum DaysOfWeek : byte
Public enum Numbers

MessageBox.Show((int)Numbers.two * 2).ToString()); // Display 4
public void ScheduleDayOff( DaysOfWeek day )
switch( day )


int[] myIntegers;
myIntegers = new int[32];
int[] myIntegers = new int[32];
int[] myIntegers = new int[32];

myIntegers = new int[45];
// Declare 5 by 3 array
int[,] intArray = new int[5,3];

// Decalre 2D array and set initial values
int[,] intArray2 = 1;

// Declare cubic array
int[,,] cubeArray = 7;
string[][] Families = new string[3][];

Families[0] = new string[] {"Smith", "Mum", "Dad", "Uncle Phil"};

Families[1] = new string[] {"Jones", "Mum", "Dad", "Suzie", "Bobby"};

Families[2] = new string[] {"Williams", "Earl", "Bob"};


Class Description
ArrayList Array of objects
BitArray Compact arrays of bits (0 and 1)
CollectionBase   Base for implementing own collection class
Hashtable Key-value pairs organised by hashed key
Queue FIFO group of objects
SortedList Access objects by index or key
Stack FILO group of objects z


// Create ArrayList
System.Collections.ArrayList myList = new System.Collections.ArrayList;

//Add item
Widget myWidget = new Widget;

// Access item using indexer (note ArrayList is zero-based)
object myObject;
myObject = myList[0];

// Indexer always returns objects. To obtain reference to same type as stored must cast
Widget aWidget;
aWidget = (Widget) myList[0];

// Remove uses reference to object
Widget anotherWidget = new Widget();

// RemoveAt uses indexer

// Count property is number of items in collection (as array zero based the value returned in one more than upper bound)

int arraySize = myList.Count;
int[] myArray = new int[] {1,2,3,4,5};

for(int x=0; x <= myArray.GetUpperBound(0), x++)


Lesson 3

Implementing Properties

textBox1.Text = "Text property";

string myString;

myString = textBox1.Text;
private string theText;

public string myText
return theText;

theText = value;

Read Only Properties

private readonly int theInt;

public int InstanceNumber
return theInt;

Write Only Properties


private int[] IntArray;

public int this [int index]
return IntArray[index];

Intarray[index] = value;

Collection Properties

private readonly System.Collections.ArrayList myWidgets = new System.Collections.ArrayList();

public System.Collections.ArrayList Widgets
return myWidgets;
private System.Collections.ArrayList myWidgets = new System.Collections.ArrayList ();

public Widget GetWidget(int I)
return (Widget)myWidgets[I];

public void SetWidget(int I, Widget Wid)
myWidgets[I] = Wid;

Lesson 4

Delegates and Events


public delegate int myDelegate(double D);

// Target method for delegate

public int ReturnInt(double D)


// Create instance of myDelegate
public void aMethod()
myDelegate aDelegate = new myDelegate(ReturnInt);

// Use delegate to invoke method


Declaring and Raising Events

// Declare delegate and event
public delegate void calculateDelegate(double D);
public event calculationDelegate CalculationComplete;

// Raise event

Event Handlers

// Assume existence of method DisplayResults with signature appropriate for calculationDelegate.

// Create new delegate to create the association.
Account.CalculationComplete += new calculationDelegate(DisplayResults);

// Create association with existing delegate
CalculationDelegate calc = new calculationDelegate(DisplayResults);

Account.CalculationComplete += calc;
// System.EventHandler is delegate for most controls in namespace. Designate event handler for Click event of control called button1

button1.Click += new System.EventHandler(clickHandler);
// Remove association between Account.CalculationComplete and DisplayResults method

Account.CalculatioComplete -= new CalculationDelegate(DisplayResults);
Button1.Click += new System.EventHandler(ClickHandler);

Button2.Click += new System.EventHandler(ClickHandler);