CONDITIONAL STATEMENTS CONTROL STATEMENTS AND ARRAYS ON C# .[DOT]NET
IF Loop
• The if statement is perhaps the most basic of flow control options available to the C# programmer. Programmers who are familiar with C, C++ or Java will immediately be comfortable using C# if statements.
• The basic syntax of C# if statement is as follows:
if (boolean expression) {
// C# code to be performed when expression evaluates to true here
}
int x = 10; if ( x > 9 ) { System.Console.WriteLine ("x is greater than 9!"); }
Using if ... else .. Statements
if (boolean expression) {
// Code to be executed if expression is true
} else {
// Code to be executed if expression is false
}
int x = 10; if ( x > 9 ) { System.Console.WriteLine ("x is greater than 9!"); } else { System.Console.WriteLine ("x is less than 9!"); }
Using if ... else if .. Statements
int x = 9; if (x == 10) { System.Console.WriteLine ("x is 10"); } else if (x == 9) { System.Console.WriteLine ("x is 9"); } else if (x == 8) { System.Console.WriteLine ("x is 8"); }
Using the switch Statement Syntax
switch (value)
{
{
case constant:
statements
break/jump
case constant:
statements
break/jump
default:
statements
break/jump
}
statements
break/jump
case constant:
statements
break/jump
default:
statements
break/jump
}
A switch Statement Example
using System;
using System.Text;
class Hello {
static void Main ()
{
string carModel;
string carManufacturer;
System.Console.Write ("Please Enter Your Vehicle Model: "); carModel = System.Console.ReadLine();
switch (carModel) {
case "Patriot":
case "Liberty ":
case "Wrangler": carManufacturer = "Jeep"; break;
case "Focus": carManufacturer = "Ford"; break;
case "Corolla": carManufacturer = "Toyota "; break;
default: carManufacturer = "unknown"; break;
}
System.Console.Write("Manufacturer is " + carManufacturer);
} }
For loop
int j = 10;
for (int i=0; i<100; i++)
{ j += j; }
System.Console.WriteLine ("j = " + j);
foreach Statement
• Iteration of arrays
public static void Main (string[] args) {
foreach (string s in args) Console.WriteLine(s);
}
• Iteration of user-defined collections
foreach (Customer c in customers.OrderBy("name")) {
if (c.Orders.Count != 0) {
...
}
}
while Loop
while (''condition'')
{ // C# statements go here }
int myCount = 0;
while ( myCount < 100 )
{ myCount++; }
do ... while loops
do { // C# statements here }
while (''conditional expression'')
int i = 10;
do { i--; }
while (i > 0)
Parameter Arrays
• Can write “printf” style methods
– Type-safe, unlike C++
void printf(string fmt, params object[] args) {
foreach (object x in args) {
...
}
}
printf("%s %i %i", str, int1, int2);
object[] args = new object[3];
args[0] = str;
args[1] = int1;
Args[2] = int2;
printf("%s %i %i", args);
Rectangular Arrays
This is the arrays datatype, most of us are familiar with. Rectangular arrays may be may be single-dimensional or multi-dimensional.
Declaring single dimenisonal arrays.
short[] shtEmpNo;
int[] intSalary;
Declaring single dimenisonal arrays.
short[] shtEmpNo;
int[] intSalary;
Declaring multi-dimenisonal arrays:
// two-dimensional arrays of short
short[,] shtEmpNo;
// three-dimensional arrays of int
int[,,] intSalary;
Rule: Element-type (int, short, long) Rank-specifiers ([], [,,]) Name (Arrays Name)
Array types are reference types, and so the declaration of an array variable merely sets aside space for the reference to the array. Array instances are actually created via array initializers and array creation expressions
Intialising Arrays :
// 5 member single-dimensional arrays intialised
short[] shtEmpNo = new short[5];
// 3 member single-dimensional arrays
int[] intSlNo = new int[] {1, 2, 3};
// 3*2 member two-dimensional arrays
int[,] intCount = new int[,] {{1, 2, 3}, {4, 5, 6}};
// 1*3 member three-dimesional arrays.
int[,,] intDec = new int[10, 20, 30];
Jagged Arrays
Jagged arrrays are nothing but arrays of arrays. This is very clear from the 'Declaration' sysnatx. See the [] appears more than once in the following declaration.
Declaring Jagged Arrays
// "jagged" array: array of (array of int)
int[][] j2;
// array of (array of (array of int))
int[][][] j3;
Rectangualr Arrays ~ Jagged Arrays
//single-dimensional rectangukar arrays
int[] r1 = new int[] {1, 2, 3};
//two-dimensional rectangualar arrays
int[,] r2 = new int[,] {{1, 2, 3}, {4, 5, 6}};
//three-dimesional rectangular arrays
int[,,] r3 = new int[10, 20, 30];
//"jagged" array: araay of(array of int)
int[][] j2 = new int[3][];
j2[0] = new int[] {1, 2, 3};
j2[1] = new int[] {1, 2, 3, 4, 5, 6};
j2[2] = new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9};
Structures
• Structures are basically value types. They are defined by using the struct keyword. You can access the variables inside a structure by creating an object of the structure. The only difference is that you don't have to use the syntax for creating an object from a class for structures. Listing 1 explains this concept clearly.
using System;
enum Employees:byte
{
ok = 50,cancel = 100
}
struct Emp
{
public Employees EM;
public string id;
}
class Emptest
{
public static void Main ()
{
Emp E;
E.EM = Employees.cancel;
E.id = "002";
Console.WriteLine(E.EM);
Console.WriteLine(E.id);
}
}
Enumerations
• Enumerations are a set of names for the corresponding numerical values.
enum Employees
{ OK; // CANCEL;
}
using System;
enum Employees
{
Instructors,
Assistants,
Counsellors
}
class Employeesenum
{
public static void Display(Employees e)
{
switch(e)
{
case Employees.Instructors:
Console.WriteLine("You are an Instructor");
break;
case Employees.Assistants:
Console.WriteLine("You are one of the Assistants");
break;
case Employees.Counsellors:
Console.WriteLine("You are a counsellor");
break;
default:break;
}
}
public static void Main (String[] args)
{
Employees emp;
emp = Employees.Counsellors;
Display(emp);
}
}
No comments:
Post a Comment