Programming with C# - 2 day course
Can't see a suitable date or location?
Click here to register your interest in this course and we will
keep you informed when any new dates are added.
Synopsis
This class is an introduction to the C# ("C sharp") programming language. It will cover the concepts and building blocks of the C# programming language, such as how .NET is different from traditional programming, defining variables, control structures, operators, classes and methods. It will provide delegates with a skill base from which they can go on to develop C# applications on either the Windows Forms or ASP.NET platforms.
Duration
2 days
Cost
£495
Prerequisites
None
Detailed course contents
Introduction to .NET
What is .NET?
.NET Building Blocks
Common Language Runtime
Framework Class Library
Base Class Library
Common Type System (CTS)
Common Language System
Introduction to C#
What is C# ?
What is C# used for?
Features of C#
What does C# look like?
Visual C# IDE
Getting started
Creating a project
The Main method
C# basics
Displaying to the console screen
Adding comments
Compiling and running the program from the command line
Compiling and running the program using the Visual C# IDE
Variables
Variables in C#
Declaring variables
Variable name rules
C# keywords
Assigning a value to a variable
Strings
Escape Sequences
Verbatim string
Character data types
Numeric data types
Signed and Unsigned
Byte
Signed Byte
Short Integers
Unsigned Short Integers
Signed integers
Unsigned Integers
Long Integers
Unsigned Long Integers
Real Numbers: float
Double-Precision Numbers
Decimal
The Boolean Data Type
The DateTime Data Type
Assigning a DateTime value
Declaring a variable
Uninitialised variables
Constants
C# / .NET Data Types
C# / .NET Data Type equivalents
Data type conversion, properties and methods
Data type properties
Data type methods
String immutability
String.Format
Numeric formatting in String.Format
Common Format Specifiers
Console.WriteLine equivolents
String methods: PadLeft and PadRight
String method: Substring
More String methods
DateTime properties
Static DateTime properties
DateTime methods
Converting DateTime to a String
DateTime format masks
Converting numeric data to string
Implicit and explicit conversion
Using Parse to convert data types
Using TryParse to convert data types
System.Convert
Operators
C# operators
The + operator
The -, * and / operators
The ++ increment assignment operator
The -- inecrement assignment operator
The += addition assignment operator
The -=, *= and /= operators
Logical operators ==
Logical operators !=
Logical operators < and >
Logical operators <= and >=
Logical ‘and’ Conjunction: &
Conditional ‘and’ Conjunction: &&
The Binary ‘or’ operator: |
The Conditional ‘or’ operator: ||
The exclusive ‘or’ operator: ^
Conditional logic
Conditional control: if
Conditional control: else
if .. else if
The Ternary Operator: ? :
Case Switches
Branching statements
goto
Loops
Loops
The while loop
do...while
The for loop
Breaking out of a loop
Continuing a loop
Methods
Methods of a class
Types of method
Method parameters
Declaring a method
Examples: Method declarations
Specifying method parameters
Returning a value from a method
A complete method
Overloading a method
Introduction to Classes
Object oriented programming
Classes
Objects
Creating a class
Creating a class in its own file
Creating an object
Assigning a value to an object
Accessing class members
Objects as parameters and return types
Reference types
Class Fields
Access modifiers
The public access modifier
The private access modifier
Properties
Encapsulation
Traditional encapsulation
Properties
Coding a Property
Implementing a Property
A property with accessor logic
Accessing a property
Read only Properties
Write only Properties
New in C# 3.0: Automatic Properties
Read only / Write only Automatic Properties
Initializing Automatic Properties
Constructors
What are constructors?
Constructors with arguments
Calling a constructor
The default constructor
Constructor chaining
Static constructors
Declaring a static constructor
Static constructor rules
Destructors
What are destructors?
Destructors and memory management
Destructor method rules
When to use destructors?
Inheritance
Introduction to Inheritance
Examples of inheritance use
Deriving one class from another
Adding to a Derived Class
Overriding Members of the Base Class
The Object Class (System.Object)
Calling Members of the Base Class
Referencing the constructor of an inherited class
Multi-Level Hierarchies
The protected access modifier
Constructors and Inheritance
Explicitly calling Base Class Constructors
Protected Constructors
Static members and classes
Static Members of a class
Examples of static behaviour
Declaring Static Members
Referencing Static Members
Static Classes
Rules of static classes
Static class constructors
Sealed and Abstract classes
Preventing inheritance from a class
Preventing the overriding of a member
Preventing instantiation from a class
Creating an abstract class
Members of an abstract class
Concrete and abstract properties
Concrete and abstract methods
Polymorphism and Name Hiding
Substituting a derived class for its parent
Polymorphism
Name hiding
Boxing and Unboxing
Boxing and Unboxing
Boxing
Explicit Boxing
Unboxing
Arrays
Array Types
Declaring an Array
Initialising an array
Retrieving the length of an array
Using foreach to loop through an array
Interfaces
What is an interface?
Interface rules
Inheriting from an interface
Creating an interface
Properties of an interface
Methods in an interface
Basing a class on an interface
Basing an interface on an interface
Multiple inheritance
Delegates
What is a Delegate?
Creating a Delegate
Referencing a Method
Using a delegate
Multicasting
Creating a Multicasting Delegate
Scope
Removing Method References
Removing Method References - Multicasting
Structures
What is a structure?
Declaring a structure
Contents of a structure
Structure methods
Structure Variable Declaration
Uses of Structures
Reference types vs. Value types
Structure field values
Structure constructors
Structures and inheritance
Indexers
What are Indexers?
Declaring an Indexer
Using indexers
Overloaded Indexers
Error handling
Introduction to Exception Handling
try .. catch
finally
The Exception Class
Catching the Exception instance
The Exception Message
Derived Exception Classes
FormatException
OverflowException
IndexOutOfRangeException
DivideByZeroException
Catching Multiple Exceptions
Exception Nesting
Throwing an Exception
Passing a message to the Exception class
Throwing an exception, passing part of a message as an argument
Custom Exceptions
Defining Custom Exceptions
Throwing custom Exceptions
Enumerators
What are Enumerators?
When to use Enumerators?
Declaring enumerators
Using the enumerator
Namespaces
What is a namespace?
Accessing Members of a Namespace
Namespace Nesting
using a Namespace
The System Namespace
Can't see a suitable date or location?
Click here to register your interest in this course and we will
keep you informed when any new dates are added.