150 likes | 318 Views
C#: Statements and Methods. Based on slides by Joe Hummel. Contents. “With regards to programming statements and methods, C# offers what you would come to expect from a modern OOPL…” Statements Methods. Part 1. Statements. Statements in C#. Assignments Sub routines and functions
E N D
C#: Statements and Methods Based on slides by Joe Hummel
Contents “With regards to programming statements and methods, C# offers what you would come to expect from a modern OOPL…” • Statements • Methods
Part 1 • Statements
Statements in C# • Assignments • Sub routines and functions • Conditionals • if, switch • Iteration • for, while, do-while • (Uncontrolled) Control Flow • return, break, continue, goto
Examples x = obj.foo(); if (x > 0 && x < 10) count++; else if (x == -1) ... else { ... } while (x > 0) { ... x--; } for (int k = 0; k < 10; k++) { ... }
Other Statements • C# also includes… • iteration over a data structure (Collection) using foreach • namespace imported using using
foreach • Specialicedforeach loop for sweeping through collections, e.g. array • Reduces the risk for indexing errors • Allows only read only access to elements int[] data = { 1, 2, 3, 4, 5 }; int sum = 0; foreach (int xin data) { sum += x; } foreach type value collection
using • using directive provides access to classes in a namespace without pre-fixing namespace Workshop { public class Customer { . . . } public class Product { . . . } } // before Workshop.Customer c; c = new Workshop.Customer("joe hummel", 94652); //after using Workshop; Customer c; c = new Customer("joe hummel", 94652);
Example • using directives in the top of the file namespace Workshop { public class Customer { . . . } public class Product { . . . } } /* main.cs */ using System; using Workshop; public class App { public static void Main() { Customer c; c = new Customer("joe hummel", 94652); Console.WriteLine( c.ToString() ); } }
Part 2 • Methods…
Types of methods • Classes may define 2 types of methods: • instance • static • Instance methods can only be applied to instances (objects) of the class. So an object must be created before the method can be used. • Static methods may be called using the class name
Example • The Array class in FCL • fully-qualified name is System.Array namespace System { public class Array { public int GetLength(int dimension) { ... } public static void Sort(Array a) { ... } . . . } } instance method(no static modifier) static method(static modifier)
Method call • Method call (Array class): /* main.cs */ using System; public class App { public static void Main() { int[] data = { 11, 7, 38, 55, 3 }; Array.Sort(data); for (inti=0; i<data.GetLength(0); i++) Console.WriteLine(i + ": " + data[i]); } }
Other static methods that may come handy… • Adding two integers and printing the sum: using System; public class Calculator { public static void Main() { string input, output; int a, b, sum; Console.Write("Enter first integer: "); input = Console.ReadLine(); a = Convert.ToInt32(input); Console.Write("Enter second integer: "); input = Console.ReadLine(); b = Convert.ToInt32(input); sum = a + b; output = String.Format("{0} + {1} = {2}", a, b, sum); Console.WriteLine(output); } }
Summing Up • All the usual statements (known from Java), and a few new ones • assignment, if, for, while, foreach, using • Two types of methods • instance methods, needs an object • static methods, may be called on the class