4102. C# Essentials
Rev. 3.0
Microsoft .NET is an advance in programming technology that greatly
simplifies application development, both for traditional, proprietary
applications and for the emerging paradigm of Web-based services. .NET is a
complete restructuring of Microsoft’s entire system infrastructure and
represents a major learning challenge for programmers developing applications
on Microsoft platforms.
This two-day intensive course is designed for the experienced
programmer to help you quickly come up to speed on the C# language. 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 new features are covered in a new chapter.
This course concisely covers the essentials of programming using
Microsoft’s new C# programming language. It starts with a brief chapter, “.NET: What You Need to Know,” which gets you up and
running in the .NET environment with a minimum of fuss. The next two chapters
cover C# language essentials and object-oriented programming in C#. The next
chapter discusses how C# relates to the .NET Framework. The following chapter covers
delegates and events. The course includes a succinct introduction to creating
GUI programs using Windows Forms. The course concludes with a chapter covering
the new features in C#. An appendix provides a tutorial on Visual Studio 2008.
The course is practical, with many example programs and a
progressively developed case study. The goal is to quickly bring you up to
speed in writing C# programs. The student will receive a comprehensive set of
materials, including course notes and all the programming examples.
LEARNING OBJECTIVES
·
Acquire a working knowledge of C# programming
·
Learn about important interactions between C#
and the .NET Framework
·
Learn how to implement simple GUI programs using
Windows Forms
·
Gain a working knowledge of implicit typing,
object initializers, anonymous types, extension methods, lambda expression,
LINQ, and other new features in C# 3.0.
Duration: 2 days. The
course could also be presented over a 3-day timeframe for somewhat less
experienced students.
Prerequisites: The
student should be an experienced application developer or architect. Some
background in object-oriented programming would be helpful.
1.
NET: What You Need to Know
.NET Executables and the CLR
A .NET Testbed for C# Programming
Visual Studio 2008
2.
C# Overview for the Sophisticated Programmer
First C# Console Application
Namespaces
Data Types
Conversions
Control Structures
Subroutines and Functions
Parameter Passing
Strings
Arrays
Console I/O
Formatting
Exception Handling
3.
Object-Oriented Programming in C#
Classes
Access Control
Methods and Properties
Asymmetric Accessor Accessibility
Static Data and Methods
Inheritance
Overriding Methods
Abstract Classes
Sealed Classes
Access Control and Assemblies
4.
C# and the .NET Framework
Components
Interfaces
System.Object
.NET and COM
Collections
IEnumerable and IEnumerator
Copy Semantics in C#
Generic Types
Type-Safe Collections
Attributes
5.
Delegates and Events
Delegates
Anonymous Methods
Random Number Generation
Events
6.
Introduction to Windows Forms
Creating Windows Applications Using Visual Studio 2005
Partial Classes
Buttons, Labels and Textboxes
Handling Events
Listbox Controls
7.
New Features in C# 3.0
Auto-Implemented Properties
Implicitly Typed Variables
Object Initializers
Collection Initializers
Anonymous Types
Partial Methods
Extension Methods
Lambda Expressions
Language-Integrated Query (LINQ)
Appendix A. Using Visual
Studio 2008
Versions of Visual Studio
Overview of Visual Studio 2008
Creating a Console Application
Project Configurations
Debugging
Multiple-Project Solutions
Appendix B. Learning
Resources
System Requirements
Course exercises require Microsoft Visual Studio 2008 Standard
Edition or higher. The preferred operating system is Windows XP. See the
appropriate course Setup Guide for details.
A good minimal hardware profile for this course consists of a 2 GHz
or better CPU, 512 MB of RAM, and at least 4 GB of free disk space for tools
installation and courseware.