> Nearby Locations
Des Moines
515-226-3265
 
 
 
My Account  |  View Cart
Search:
 


Class Outline*


| Request Info | Contact Us


Programming with C#.NET 2008

Duration:
5 Days

Overview:
This thorough and comprehensive course is a practical introduction to programming in C#, utilizing the services provided by .NET.  This course introduces object-oriented concepts early, and C# is developed in a way that leverages its object orientation.  Besides supporting traditional object-oriented features, such as classes, inheritance, and polymorphism, C# introduces several additional features, such as properties, indexers, delegates, events, and interfaces that make C# a compelling language for developing object-oriented and component-based systems.  The course explores several important interactions between C# and the .NET Framework, and it includes an introduction to major classes for collections, delegates, and events.  It is current to Visual Studio 2008 and .NET 3.5, which introduces important new features, such as implicit typing, extension methods, lambda expressions, and Language-Integrated Query (LINQ).  The course concludes with a chapter covering the new features in C# 3.0.

Audience:

Programmers who need to design and develop C# for the .NET framework

Prerequisites:

Programming in a high-level language such as Perl, C, Visual Basic, or COBOL

 

Outline:

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 2008
  • Creating a Console Application
  • Adding a C# File
  • Using the Visual Studio Text Editor
  • IntelliSense
  • Build and Run the Project
  • Pausing the Output
  • Visual C# and GUI Programs
  • .NET Documentation

First C# Programs

  • Hello, World
  • Compiling, Running (Command Line)
  • Program Structure
  • Namespaces
  • Variables
  • Expressions
  • Assignment
  • Calculations Using C#
  • More about Output in C#
  • Input in C#
  • More about Classes
  • InputWrapper Class
  • Echo Program
  • Using InputWrapper
  • Compiling Multiple Files
  • Multiple Files in Visual Studio
  • The .NET Framework

Data Types in C#

  • Strong Typing
  • Typing in C#
  • Typing in C++
  • Typing in Visual Basic 6
  • C# Types
  • Integer Types
  • Integer Type Range
  • Integer Literals
  • Floating Point Types
  • Floating Point Literals
  • IEEE Standard for Floating Point
  • Decimal Type
  • Decimal Literals
  • Character Type
  • Character Literals
  • string
  • Escape Characters
  • Boolean Type
  • Implicit Conversions
  • Explicit Conversions
  • Nullable Types

Operators and Expressions

  • Operator Cardinality
  • Arithmetic Operators
  • Multiplication
  • Division
  • Additive Operators
  • Increment and Decrement
  • Relational Operators
  • Conditional Logical Operators
  • Short-Circuit Evaluation
  • Ternary Conditional Operator
  • Bitwise Operators
  • Bitwise Logical Operators
  • Bitwise Shift Operators
  • Assignment Operators
  • Expressions
  • Precedence
  • Associativity
  • Checking

Control Structures

  • If Tests
  • Blocks
  • Loops
  • while Loop
  • do/while Loops
  • for Loops
  • Arrays
  • foreach Loop
  • break
  • continue
  • goto
  • Structured Programming
  • Multiple Methods
  • switch
  • switch in C# and C/C++

Object-Oriented Programming

  • Objects
  • Objects in the Real World
  • Object Models
  • Reusable Software Components
  • Objects in Software
  • State and Behavior
  • Abstraction
  • Encapsulation
  • Classes
  • Inheritance Concept
  • Relationships among Classes
  • Polymorphism
  • Object Oriented Analysis and Design
  • Use Cases
  • CRC Cards and UML

Classes

  • Classes as Structured Data
  • Classes and Objects
  • References
  • Instantiating and Using an Object
  • Assigning Object References
  • Garbage Collection
  • Methods
  • Public and Private
  • Abstraction
  • Encapsulation
  • Initialization
  • Initialization with Constructors
  • Default Constructor
  • this
  • Static Fields and Methods
  • Static Methods
  • Static Constructor
  • Constant and Readonly Fields

More about Types

  • Overview of Types in C#
  • Structures
  • Uninitialized Variables
  • Copying a Structure
  • Hotel.cs
  • HotelCopy.cs
  • Results of Hotel Copy
  • Classes and Structs
  • Enumeration Types
  • Reference Types
  • Class Types
  • object
  • string
  • Arrays
  • Default Values
  • Boxing and Unboxing

Methods, Properties, and Operators

  • 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
  • Modifiers as Part of the Signature
  • Variable Length Parameter Lists
  • Properties
  • Operator Overloading
  • Operator Overloading in the Class Library

Characters and Strings

  • Characters
  • Character Codes
  • ASCII and Unicode
  • Escape Sequences
  • Strings
  • String Class
  • String Literals and Initialization
  • Concatenation
  • Index
  • Relational Operators
  • String Equality
  • String Comparisons
  • String Comparison
  • String Input
  • String Methods and Properties
  • StringBuilder Class
  • StringBuilder Equality
  • Command Line Arguments
  • Command Line Arguments in the IDE
  • Command Loops
  • Splitting a String

Arrays and Indexers

  • Arrays
  • One Dimensional Arrays
  • System.Array
  • Random Number Generation
  • Next Methods
  • Jagged Arrays
  • Rectangular Arrays
  • Arrays As Collections
  • Indexers
  • Using the Indexer

Inheritance

  • Inheritance Fundamentals
  • Inheritance in C#
  • Single Inheritance
  • Root Class - Object
  • Access Control
  • Public Class Accessibility
  • Internal Class Accessibility
  • Member Accessibility
  • Member Accessibility Qualifiers
  • Method Hiding
  • Method Hiding and Overriding
  • Initialization
  • Initialization Fundamentals
  • Default Constructor
  • Overloaded Constructors
  • Invoking Base Class Constructors

Virtual Methods and Polymorphism

  • Introduction to Polymorphism
  • Abstract and Sealed Classes
  • Virtual Methods and Dynamic Binding
  • Type Conversions in Inheritance
  • Converting Down the Hierarchy
  • Converting Up the Hierarchy
  • Virtual Methods
  • Virtual Method Cost
  • Method Overriding
  • The Fragile Base Class Problem
  • override Keyword
  • Polymorphism
  • Polymorphism Using “Type Tags”
  • Polymorphism Using Virtual
  • Abstract Classes
  • Keyword: abstract
  • Sealed Classes
  • Heterogeneous Collections

Formatting and Conversion

  • Introduction to Formatting
  • ToString
  • ToString in Your Own Class
  • Using Placeholders
  • Format Strings
  • Simple Placeholders
  • Controlling Width
  • Format String
  • Currency
  • String.Format
  • PadLeft and PadRight
  • Type Conversions
  • Conversion of Built-In Types
  • Conversion of User-Defined Types

Exceptions

  • Introduction to Exceptions
  • Exception Fundamentals
  • .NET Exception Handling
  • Exception Flow of Control
  • Context and Stack Unwinding
  • System.Exception
  • User-Defined Exception Classes
  • Structured Exception Handling
  • Finally Block
  • Inner Exceptions
  • Checked Integer Arithmetic

Interfaces

  • Interfaces in C#
  • Interface Inheritance
  • Programming with Interfaces
  • Implementing Interfaces
  • Using an Interface
  • Dynamic Use of Interfaces
  • is Operator
  • as Operator
  • Common Interfaces in Case Study –IAccount
  • Apparent Redundancy
  • IStatement
  • IStatement Methods
  • IChecking
  • ISavings
  • The Implementation
  • SavingsAccount
  • The Client
  • Resolving Ambiguity
  • Access Modifier
  • Explicit Interfaces Test Program

.NET Interfaces and Collections

  • Collections
  • Count and Capacity
  • foreach Loop
  • Array Notation
  • Adding to the List
  • Remove Method
  • RemoveAt Method
  • Collection Interfaces
  • IEnumerable and IEnumerator
  • ICollection
  • IList
  • A Collection of User-Defined Objects
  • Duplicate Objects
  • Copy Semantics and ICloneable
  • Copy Semantics in C#
  • Shallow Copy and Deep Copy
  • Reference Copy
  • Memberwise Clone
  • Using ICloneable
  • Comparing Objects
  • Sorting an Array
  • Anatomy of Array.Sort
  • Using the is Operator
  • The Use of Dynamic Type Checking
  • Implementing IComparable
  • Writing Generic Code
  • Using a Class of object
  • Generic Types
  • Generic Syntax in C#
  • Generic Client Code
  • System.Collections.Generic

Delegates and Events

  • Overview of Delegates and Events
  • Callbacks and Delegates
  • Usage of Delegates
  • Declaring a Delegate
  • Defining a Method
  • Creating a Delegate Object
  • Calling a Delegate
  • A Random Array
  • Anonymous Methods
  • Combining Delegate Objects
  • Account.cs
  • DelegateAccount.cs
  • 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# 3.0

  • Auto-Implement Properties
  • Implicitly Typed Variables
  • Object Initializers
  • Collection Initializers
  • Anonymous Types
  • Partial Methods
  • Partial Method Definition
  • Partial Method Implementation
  • Main Program
  • Extension Methods
  • Lambda Expressions
  • Named Method
  • Anonymous Method
  • Language-Integrated Query (LINQ)
  • Using IEnumerable

*Content, days, and times vary depending on your location. Please view the outline prior to purchase or contact the local center for more information.