0% found this document useful (0 votes)
79 views14 pages

Programming With C#

Unless otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious. No part of this document may be reproduced, stored in or introduced into a retrieval system, or for any purpose, without the express written permission of Microsoft. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
79 views14 pages

Programming With C#

Unless otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious. No part of this document may be reproduced, stored in or introduced into a retrieval system, or for any purpose, without the express written permission of Microsoft. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

Programming with C#

Delivery Guide
Course Number: 2124C

Part Number: X08-74949


Released: 02/2002

Information in this document, including URL and other Internet Web site references, is subject to
change without notice. Unless otherwise noted, the example companies, organizations, products,
domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious,
and no association with any real company, organization, product, domain name, e-mail address,
logo, person, places or events is intended or should be inferred. Complying with all applicable
copyright laws is the responsibility of the user. Without limiting the rights under copyright, no
part of this document may be reproduced, stored in or introduced into a retrieval system, or
transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or
otherwise), or for any purpose, without the express written permission of Microsoft Corporation.
Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual
property rights covering subject matter in this document. Except as expressly provided in any
written license agreement from Microsoft, the furnishing of this document does not give you any
license to these patents, trademarks, copyrights, or other intellectual property.
20012002 Microsoft Corporation. All rights reserved.
Microsoft, MS-DOS, Windows, Windows NT, ActiveX, BizTalk, IntelliSense, JScript, MSDN,
PowerPoint, SQL Server, Visual Basic, Visual C++, Visual C#, Visual J#, Visual Studio, and
Win32 are either registered trademarks or trademarks of Microsoft Corporation in the U.S.A.
and/or other countries.
The names of actual companies and products mentioned herein may be the trademarks of their
respective owners.

Course Number: 2124C


Part Number: X08-74949
Released: 02/2002

Programming with C#

Contents

iii

Introduction
Course Materials ......................................................................................................2
Prerequisites.............................................................................................................3
Course Outline .........................................................................................................4
Microsoft Certified Professional Program ...............................................................7
Facilities.................................................................................................................10

Module 1: Overview of the Microsoft .NET Platform


Overview..................................................................................................................1
Introduction to the .NET Platform ...........................................................................2
Overview of the .NET Framework ..........................................................................5
Benefits of the .NET Framework.............................................................................7
The .NET Framework Components .........................................................................8
Languages in the .NET Framework .......................................................................14
Review ...................................................................................................................16

Module 2: Overview of C#
Overview..................................................................................................................1
Structure of a C# Program .......................................................................................2
Basic Input/Output Operations.................................................................................9
Recommended Practices ........................................................................................15
Compiling, Running, and Debugging ....................................................................22
Lab 2.1: Creating a Simple C# Program ................................................................36
Review ...................................................................................................................44

Module 3: Using Value-Type Variables


Overview..................................................................................................................1
Common Type System.............................................................................................2
Naming Variables ....................................................................................................8
Using Built-in Data Types .....................................................................................14
Creating User-Defined Data Types........................................................................22
Converting Data Types ..........................................................................................26
Lab 3.1: Creating and Using Types .......................................................................30
Review ...................................................................................................................34

Module 4: Statements and Exceptions


Overview..................................................................................................................1
Introduction to Statements .......................................................................................2
Using Selection Statements......................................................................................6
Using Iteration Statements .....................................................................................17
Using Jump Statements..........................................................................................29
Lab 4.1: Using Statements .....................................................................................32
Handling Basic Exceptions ....................................................................................42
Raising Exceptions.................................................................................................52
Lab 4.2: Using Exceptions.....................................................................................62
Review ...................................................................................................................72

iv

Programming with C#

Module 5: Methods and Parameters


Overview................................................................................................................. 1
Using Methods ........................................................................................................ 2
Using Parameters .................................................................................................. 16
Using Overloaded Methods .................................................................................. 29
Lab 5.1: Creating and Using Methods .................................................................. 37
Review .................................................................................................................. 48

Module 6: Arrays
Overview................................................................................................................. 1
Overview of Arrays................................................................................................. 2
Creating Arrays ..................................................................................................... 10
Using Arrays ......................................................................................................... 17
Lab 6.1: Creating and Using Arrays ..................................................................... 29
Review .................................................................................................................. 40

Module 7: Essentials of Object-Oriented Programming


Overview................................................................................................................. 1
Classes and Objects................................................................................................. 2
Using Encapsulation ............................................................................................. 10
C# and Object Orientation .................................................................................... 21
Lab 7.1: Creating and Using Classes .................................................................... 39
Defining Object-Oriented Systems ....................................................................... 52
Review .................................................................................................................. 61

Module 8: Using Reference-Type Variables


Overview................................................................................................................. 1
Using Reference-Type Variables ............................................................................ 2
Using Common Reference Types ......................................................................... 15
The Object Hierarchy............................................................................................ 23
Namespaces in the .NET Framework.................................................................... 29
Lab 8.1: Defining And Using Reference-Type Variables..................................... 35
Data Conversions .................................................................................................. 44
Multimedia: Type-Safe Casting ............................................................................ 57
Lab 8.2: Converting Data...................................................................................... 58
Review .................................................................................................................. 63

Module 9: Creating and Destroying Objects


Overview................................................................................................................. 1
Using Constructors.................................................................................................. 2
Initializing Data .................................................................................................... 13
Lab 9.1: Creating Objects ..................................................................................... 32
Objects and Memory............................................................................................. 40
Resource Management.......................................................................................... 46
Lab 9.2: Managing Resources............................................................................... 55
Review .................................................................................................................. 58

Programming with C#

Module 10: Inheritance in C#


Overview..................................................................................................................1
Deriving Classes ......................................................................................................2
Implementing Methods ..........................................................................................10
Using Sealed Classes .............................................................................................27
Using Interfaces .....................................................................................................29
Using Abstract Classes ..........................................................................................42
Lab 10.1: Using Inheritance to Implement an Interface.........................................52
Review ...................................................................................................................70

Module 11: Aggregation, Namespaces, and Advanced Scope


Overview..................................................................................................................1
Using Internal Classes, Methods, and Data .............................................................2
Using Aggregation .................................................................................................11
Lab 11.1: Specifying Internal Access ....................................................................22
Using Namespaces.................................................................................................28
Using Modules and Assemblies.............................................................................49
Lab 11.2: Using Namespaces and Assemblies.......................................................57
Review ...................................................................................................................63

Module 12: Operators, Delegates, and Events


Overview..................................................................................................................1
Introduction to Operators.........................................................................................2
Operator Overloading ..............................................................................................6
Lab 12.1: Defining Operators ................................................................................19
Creating and Using Delegates................................................................................37
Defining and Using Events ....................................................................................47
Demonstration: Handling Events ...........................................................................53
Lab 12.2: Defining and Using Events....................................................................54
Review ...................................................................................................................63
Course Evaluation..................................................................................................65

Module 13: Properties and Indexers


Overview..................................................................................................................1
Using Properties.......................................................................................................2
Using Indexers .......................................................................................................17
Lab 13.1: Using Properties and Indexers ...............................................................33
Review ...................................................................................................................42

Module 14: Attributes


Overview..................................................................................................................1
Overview of Attributes ............................................................................................2
Defining Custom Attributes...................................................................................13
Retrieving Attribute Values ...................................................................................22
Lab 14.1: Defining and Using Attributes...............................................................26
Review ...................................................................................................................34
Course Evaluation..................................................................................................36

Appendix A: Resources for Further Study


Resources for C#......................................................................................................1

Programming with C#

vii

About This Course


This section provides you with a brief description of the course, audience,
suggested prerequisites, and course objectives.

Description
This five-day instructor-led course provides students with the knowledge and
skills needed to develop C# applications for the Microsoft .NET Platform. The
course focuses on C# program structure, language syntax, and implementation
details.

Audience
This course is intended for experienced developers who already have
programming experience in C, C++, Microsoft Visual Basic, or Java. These
developers will be likely to develop enterprise business solutions.

Student Prerequisites
This course requires that students meet the following prerequisites:


Experience programming in C, C++, Visual Basic, Java, or another


programming language

Familiarity with the Microsoft .NET strategy as described on the Microsoft


.NET Web site (http://www.microsoft.com/net/)

Familiarity with the .NET Framework as described on the MSDN Web site
(http://msdn.microsoft.com/library/default.asp?url=/library
/en-us/cpguidnf/html/cpovrintroductiontonetframeworksdk.asp)

viii

Programming with C#

Course Objectives
After completing this course, the student will be able to:


List the major elements of the .NET Framework, and explain how C# fits
into the .NET Platform.

Analyze the basic structure of a C# application, and be able to debug,


compile, and run a simple application.

Create, name, and assign values to variables.

Use common statements to implement flow control, looping, and exception


handling.

Create methods (functions and subroutines) that can return values and take
parameters.

Create, initialize, and use arrays.

Explain the basic concepts and terminology of object-oriented


programming.

Use common objects and references types.

Create, initialize, and destroy objects in a C# application.

Build new C# classes from existing classes.

Create self-contained classes and frameworks in a C# application.

Define operators and add event specifications.

Implement properties and indexers.

Use predefined and custom attributes.

Programming with C#

Course Timing
The following schedule is an estimate of the course timing. Your timing may
vary.

Day 1
Start

End

Module

9:00

9:30

Introduction

9:30

10:00

Module 1: Overview of the Microsoft .NET Platform

10:00

10:15

Break

10:15

11:15

Module 2: Overview of C#

11:15

12:15

Lab 2.1: Creating a Simple C# Program

12:15

1:15

Lunch

1:15

2:15

Module 3: Using Value-Type Variables

2:15

3:15

Lab 3.1: Creating and Using Types

3:15

3:30

Break

3:30

4:00

Module 4: Statements and Exceptions

4:00

4:30

Lab 4.1: Using Statements

4:30

5:00

Module 4: Statements and Exceptions (continued)

Start

End

Module

9:00

9:30

Day 1 review

9:30

10:00

Lab 4.2: Using Exceptions

10:00

10:15

Break

10:15

11:15

Module 5: Methods and Parameters

11:15

12:15

Lab 5.1: Creating and Using Methods

12:15

1:15

Lunch

1:15

2:00

Module 6: Arrays

2:00

3:00

Lab 6.1: Creating and Using Arrays

3:00

3:15

Break

3:15

4:00

Module 7: Essentials of Object-Oriented Programming

4:00

4:45

Lab 7.1: Creating and Using Classes

4:45

5:00

Module 7: Essentials of Object-Oriented Programming


(continued)

Day 2

ix

Programming with C#

Day 3
Start

End

Module

9:00

9:30

Day 2 review

9:30

10:30

Module 8: Using Reference-Type Variables

10:30

10:45

Break

10:45

11:30

Lab 8.1: Defining and Using Reference-Type Variables

11:30

12:00

Module 8: Using Reference-Type Variables (continued)

12:00

1:00

Lunch

1:00

1:30

Lab 8.2: Converting Data

1:30

2:30

Module 9: Creating and Destroying Objects

2:30

2:45

Break

2:45

3:45

Lab 9.1: Creating Objects

3:45

4:15

Module 9: Creating and Destroying Objects (continued)

4:15

4:30

Lab 9.2: Managing Resources

4:30

5:00

Module 10: Inheritance in C#

Start

End

Module

9:00

9:30

Day 3 review

9:30

10:30

Module 10: Inheritance in C# (continued)

10:30

10:45

Break

10:45

12:00

Lab 10.1: Using Inheritance to Implement an Interface

12:00

1:00

Lunch

1:00

1:45

Module 11: Aggregation, Namespaces, and Advanced Scope

1:45

2:15

Lab 11.1: Specifying Internal Access

2:15

2:30

Break

2:30

3:00

Module 11: Aggregation, Namespaces, and Advanced Scope


(continued)

3:00

3:30

Lab 11.2: Using Namespaces and Assemblies

3:30

4:30

Module 12: Operators, Delegates, and Events

Day 4

Programming with C#

Day 5
Start

End

Module

9:00

9:30

Day 4 review

9:30

10:00

Lab 12.1: Defining Operators

10:00

10:30

Module 12: Operators, Delegates, and Events (continued)

10:30

10:45

Break

10:45

11:15

Lab 12.2: Defining and Using Events

11:15

11:45

Module 13: Properties and Indexers

11:45

12:15

Lab 13.1: Using Properties and Indexers

12:15

1:15

Lunch

1:15

2:15

Module 14: Attributes

2:15

3:00

Lab 14.1: Defining and Using Attributes

3:00

4:00

Course review

xi

xii

Programming with C#

Trainer Materials Compact Disc Contents


The Trainer Materials compact disc contains the following files and folders:


Autorun.exe. When the CD is inserted into the CD-ROM drive, or when you
double-click the autorun.exe file, this file opens the CD and allows you to
browse the Student or Trainer compact disc.

Autorun.inf. When the compact disc is inserted into the compact disc drive,
this file opens Autorun.exe.

Default.htm. This file opens the Trainer Materials Web page.

Readme.txt. This file explains how to install the software for viewing the
Trainer Materials compact disc and its contents and how to open the Trainer
Materials Web page.

2124C_ms.doc. This file is the Manual Classroom Setup Guide. It contains


the steps for manually setting up the classroom computers.

2124C_sg.doc. This file is the Automated Classroom Setup Guide. It


contains a description of classroom requirements, classroom configuration,
instructions for using the automated classroom setup scripts, and the
Classroom Setup Checklist.

Powerpnt. This folder contains the Microsoft PowerPoint slides that are
used in this course.

Pptview. This folder contains the Microsoft PowerPoint Viewer, which is


used to display the PowerPoint slides.

Setup. This folder contains the files that install the course and related
software to computers in a classroom setting.

StudentCD. This folder contains the Web page that provides students with
links to resources pertaining to this course, including additional reading,
review and lab answers, lab files, multimedia presentations, and courserelated Web sites.

Tools. This folder contains files and utilities used to complete the setup of
the instructor computer.

Webfiles. This folder contains the files that are required to view the course
Web page. To open the Web page, open Windows Explorer, and in the root
directory of the compact disc, double-click Default.htm or Autorun.exe.

Programming with C#

xiii

Student Materials Compact Disc Contents


The Student Materials compact disc contains the following files and folders:


Autorun.exe. When the CD is inserted into the CD-ROM drive, or when you
double-click the autorun.exe file, this file opens the CD and allows you to
browse the Student Materials compact disc.

Autorun.inf. When the compact disc is inserted into the compact disc drive,
this file opens Autorun.exe.

Default.htm. This file opens the Student Materials Web page. It provides
students with resources pertaining to this course, including additional
reading, review and lab answers, lab files, multimedia presentations, and
course-related Web sites.

Readme.txt. This file explains how to install the software for viewing the
Student Materials compact disc and its contents and how to open the
Student Materials Web page.

2124C_ms.doc. This file is the Classroom Setup Guide. It contains a


description of classroom requirements, classroom setup instructions, and the
classroom configuration.

Democode. This folder contains demonstration code.

Flash. This folder contains the installer for the Macromedia Flash 5.0
browser plug-in.

Fonts. This folder contains fonts that are required to view the Microsoft
PowerPoint presentation and Web-based materials.

Labs. This folder contains files that are used in the hands-on labs. These
files may be used to prepare the student computers for the hands-on labs.

Media. This folder contains files that are used in multimedia presentations
for this course.

Mplayer. This folder contains the setup file to install Microsoft Windows
Media Player.

Webfiles. This folder contains the files that are required to view the course
Web page. To open the Web page, open Windows Explorer, and in the root
directory of the compact disc, double-click Default.htm or Autorun.exe.

Wordview. This folder contains the Word Viewer that is used to view any
Word document (.doc) files that are included on the compact disc.

xiv

Programming with C#

Document Conventions
The following conventions are used in course materials to distinguish elements
of the text.
Convention

Use

Indicates an introductory page. This symbol appears next to a topic


heading when additional information on the topic is covered on the
page or pages that follow it.

bold

Represents commands, command options, and syntax that must be


typed exactly as shown. It also indicates commands on menus and
buttons, dialog box titles and options, and icon and menu names.

italic

In syntax statements or descriptive text, indicates argument names


or placeholders for variable information.

Title Capitals

Indicate domain names, user names, computer names, directory


names, and folder and file names, except when specifically
referring to case-sensitive names. Unless otherwise indicated, you
can use lowercase letters when you type a directory name or file
name in a dialog box or at a command prompt.

ALL CAPITALS

Indicate the names of keys, key sequences, and key combinations


for example, ALT+SPACEBAR.

monospace

Represents code samples or examples of screen text.

[]

In syntax statements, enclose optional items. For example,


[filename] in command syntax indicates that you can choose to type
a file name with the command. Type only the information within
the brackets, not the brackets themselves.

{}

In syntax statements, enclose required items. Type only the


information within the braces, not the braces themselves.

In syntax statements, separates an either/or choice.

Indicates a procedure with sequential steps.

...

In syntax statements, specifies that the preceding item may be


repeated.

.
.
.

Represents an omitted portion of a code sample.

You might also like