411. C# Essentials
Rev. 2.2
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 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 2005 and .NET 2.0, which introduces important new features, such as
generic types. The new features are covered throughout the course in the
context of where they are applicable.
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 concludes with a succinct introduction to
creating GUI programs using Windows Forms. An appendix provides a tutorial on
Visual Studio 2005, including the freely downloadable Visual C# 2005 Express
Edition.
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 generic types, anonymous
delegates, partial classes, and other new features in C# 2.0.
Duration: 2 days
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 2005
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
Appendix A. Using Visual
Studio 2005
Overview of Visual Studio 2005
Creating a Console Application
Project Configurations
Debugging
Multiple-Project Solutions
Appendix B. Learning
Resources
System Requirements
Course exercises require Microsoft Visual Studio 2005 on Windows XP
with Service Pack 2. Visual C# 2005 Express Edition can also be used. See the
appropriate course Setup Guide for details.
A good minimal hardware profile for this course would have a Pentium
1 GHz or equivalent CPU, 512 MB of RAM, and at least 4 GB of free disk space
for tools installation and courseware.