This
4-day
course
covers
the C#
programming
language
and introduces
Microsoft's
.Net framework.
It covers
the C#
language
in context,
exploiting
the .Net
framework
and introducing
both client
and server
programming
techniques.
Prerequisites
This
course
assumes
knowledge
of the
basics
of the
C-like
family
of languages
such as
C, C++
or JavaScript.
If you
do not
already
have this
experience
you should
also attend
our 1-day
'C# Primer
for Non
C/C++/Java
Programmers'
('GN-142')
course
prior
to this
course.
Course
Content
C#
in
Context -
C#
and
.Net
-
The
Common
Language
Runtime
(CLR)
and
Intermediate
Language
(IL)
-
C#
outside
Microsoft
Using
C# -
Data
types
-
Classes
and
objects
-
Using
'new',
the
heap
and
the
stack
-
Encapsulation
and
inheritance
-
Static
and
constant
members
-
Console
input
and
output
Application
Structure -
Value
types
and
boxing
-
Strings,
StringBuilders
and
collections
-
Arrays,
jagged
arrays
and
Indexers
-
Namespaces,
'using'
and
assemblies
-
Attributes
Inheritance -
Polymorphism
and
the
use
of
'virtual'
and
'override'
-
Abstract
classes
-
Constructors
and
initialization
-
Interfaces
-
Nested
classes
-
Casting,
'as'
and
'is'
Exception
Handling -
How
exception
handling
works
-
try.catch
and
throw
-
try.finally
-
Writing
and
using
exception
handlers
GUI
Applications -
Building
a
graphical
user
interface
-
Event
handling
-
Delegates
Multitasking -
The
System.Threading
classes
-
Starting
and
controlling
threads
-
Using
locks
and
monitors
for
synchronization
-
Sleeping
and
timers
The
System.IO
Namespace -
Streams,
Readers
and
Writers
-
Using
files
-
Events
and
Watchers
-
Data
streams
-
Data
formatting
-
Serialization
and
SOAP
Sockets
&
Networking -
The
System.Net.Sockets
classes
-
Client
and
server
sockets
and
streams
-
System.Net
classes
-
Web
clients
-
Web
services
Advanced
Language
Features -
Operator
overloading
-
'Unsafe'
code
-
Passing
by
value
and
reference
-
Variable
length
argument
lists
-
Deterministic
cleanup