C# Essentials (VS 2010)      

Code:

IT85-635

Series:

Computer Professional

Duration:

2 days

.NET - What You Need to Know
Getting Started
.NET: What Is Really Happening
NET Programming in a Nutshell
Viewing the Assembly
Viewing Intermediate Language
Understanding .NET
Visual Studio 2010
Creating a Console Application
Adding a C# File
Using the Visual Studio Text Editor
IntelliSense
Build & Run the Project
Pausing the Output
Visual C# and GUI Programs
.NET Documentation

C# Overview for the Sophisticated Programmer
Hello, World
Compiling, Running (Command Line)
Program Structure
Namespaces
Variables
Input in C#
More about Classes
InputWrapper Class
Input Wrapper Implementation
Compiling Multiple Files
Control Structures
switch
C# Operators
Precedence Table
Types in C#
Simple Types
Types in System Namespace
Integer Data Types
Floating Point Data Types
Implicit Conversions
Explicit Conversions
Boolean Data Type
struct
Uninitialized Variables
Enumeration Types
Nullable Types
Reference Types
Class Types
object
string
Copying Strings
StringBuilder Class
Classes & Structs
Static and Instance Methods
Method Parameters
No “Freestanding” Functions in C#
Classes with All Static Methods
Parameter Passing
Parameter Terminology
Value Parameters
Reference Parameters
Output Parameters
Structure Parameters
Class Parameters
Method Overloading
Variable Length Parameter Lists
Arrays
One-Dimensional Arrays
System.Array
Jagged Arrays
Rectangular Arrays
foreach for Arrays
Boxing and Unboxing
Implicitly-typed Variables
Output in C#
Formatting
Exceptions
Checked Integer Arithmetic
Throwing New Exceptions
finally
System.Exception

Object-Oriented Programming in C#
C# Object-Oriented Features
Encapsulation & Accessors
Asymmetric Accessor Accessibility
Using a Property
Indexers
Visual Studio Console Projects
Constructors
Static Members
Static in Main
Static Constructor
Constant & Read-only Fields
Auto-implemented Properties
Inheritance in C#
New Version of Base Class
Features of the New Base Class
Derived Class
Overriding a Virtual Function
Abstract Classes
Keyword: abstract
Derived Class
Sealed Classes
Access Control & Assemblies
Internal Accessibility
Class Libraries

C# and the .NET Framework
Components & OO in C#
Interfaces in C#
Interface Inheritance
Programming with Interfaces
Implementing Interfaces
Using an Interface
Dynamic Use of Interfaces
is Operator
as Operator
Resolving Ambiguity
Explicit Interface Implementation
System.Object
Collections
ArrayList
ArrayList Methods
IEnumerable and IEnumerator
Using Enumerators
Collections of User-Defined Objects
Copy Semantics in C#
Deep Copy and ICloneable
Writing Generic Code
Using a Class of object
Generic Types
Generic Syntax in C#
Generic Client Code
System.Collections.Generic
Object Initializers
Collection Initializers
Anonymous Types
Attributes

Delegates and Events
Callbacks & Delegates
Usage of Delegates
Declaring a Delegate
Defining a Method
Creating a Delegate Object
Calling a Delegate
Random Number Generation
A Random Array
Anonymous Methods
Combining Delegate Objects
Lambda Expressions
Named Method
Anonymous Method
Events
Events in C# and .NET
Client Side Event Code

Introduction to Windows Forms
Creating a Windows Forms App
Partial Classes
Windows Forms Event Handling
Add Events for a Control
Events Documentation
Closing a Form
ListBox Control

New Features in C# 4.0
dynamic Type
dynamic vs. object
Behaviour of object
Behaviour of dynamic
Named Arguments
Optional Arguments
Variance in Generic Interfaces
Variance with IComparer<T>
Interfaces with Variance Support

Appendix A - Using Visual Studio 2010
Visual Studio 2010 Versions
Visual Studio 2010 Team System
A Visual Studio Solution
Toolbars
Customizing a Toolbar
Creating a Console Application
Adding a C# File
Using the Visual Studio Text Editor
Build and Run the Bytes Project
Executable File Location
Managing Configurations
Project Configurations
Creating a New Configuration
Setting Configuration Build Settings
Debugging
Breakpoints
Watch Variables
Debug Toolbar
Stepping with the Debugger
Call Stack & Call Hierarchy
Adding a Reference
Project Dependencies
Startup Project
Hidden Files

Appendix A - Language-Integrated Query (LINQ)
LINQ Overview
Using IEnumerable<T>
Basic LINQ Query Operators
Obtaining a Data Source
Filtering & Ordering
Aggregation
Deferred Execution


C# Essentials (VS2010)


This two-day intensive course is designed to help the experienced programmer quickly come up to speed on the C# language. It is current to Visual Studio 2010 and .NET 4.0, which introduces important new features such as dynamic data type, named and optional arguments, and the use of varaiance in generic interfaces. The new features are covered in a new chapter. The course is practical, with many example programs and a progressively developed case study.


Prerequisites:


Programming in a high-level language is required and some background in object-oriented programming is recommended.