0% found this document useful (0 votes)
49 views8 pages

Learning To Program Using Visual C# 2008 TOC-1

Uploaded by

aleksandar7
Copyright
© © All Rights Reserved
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)
49 views8 pages

Learning To Program Using Visual C# 2008 TOC-1

Uploaded by

aleksandar7
Copyright
© © All Rights Reserved
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/ 8

Table of Contents

Learning to Program Using Visual C# 2008


Table of Contents

INTRODUCTION .......................................................................................INTRO-1
Prerequisites..................................................................................INTRO-2
Installing the Practice Files ............................................................INTRO-3
Software Requirements .....................................................INTRO-3
Installation..........................................................................INTRO-3
Demonstration Applications ...............................................INTRO-3
About the Authors ..........................................................................INTRO-4

GETTING STARTED WITH .NET ......................................................................1-1


Thinking about .NET ...............................................................................1-2
What Is .NET?.............................................................................1-2
Why .NET?..................................................................................1-3
Advantages of .NET....................................................................1-4
.NET Architecture........................................................................1-5
Examining a .NET Application: Introducing Assemblies .............1-8
What Kinds of Programs Can You Create? ................................1-9
Using the Command-Line Compiler to Build a
Console Application ..................................................................1-10
Revisiting Microsoft Intermediate Language.............................1-15
Using Visual Studio 2008......................................................................1-18
Working with Your Visual Studio Profile Settings......................1-18
Revisiting the .NET Console Application ..................................1-26
Debugging and Handling Exceptions....................................................1-43
Handling Errors .........................................................................1-53
Fixing the Logic Error................................................................1-56

LAB 1: GETTING STARTED WITH .NET........................................................1-61


Lab 1 Overview.....................................................................................1-62
Customize the Visual Studio Environment............................................1-63
Create a Console Application ...............................................................1-69
Use Visual Studio Debugging ...............................................................1-73

DATA TYPES AND VARIABLES........................................................................2-1


Introducing Variables and Data Types....................................................2-2
Variables .....................................................................................2-2
Data Types..................................................................................2-7

Learning to Program Using Visual C# 2008 TOC-1


Copyright © by Application Developers Training Compan
All rights reserved. Reproduction is strictly prohibited.
Table of Contents

Integer Data Types ...................................................................2-10


Floating-Point Data Types ........................................................2-13
Decimal Data Type ...................................................................2-13
Char Data Type.........................................................................2-17
String Data Type .......................................................................2-20
Bool Data Type .........................................................................2-22
Object Data Type ......................................................................2-23
Constants, Enumerations, and Structures ................................2-24
Working with Variables and Data Types...............................................2-29
Converting from One Data Type to Another .............................2-29
Operators ..................................................................................2-40

LAB 2: DATA TYPES AND VARIABLES.........................................................2-55


Lab 2 Overview.....................................................................................2-56
Calculate a Loan Payment....................................................................2-57
Compare Gasoline Costs of Cars .........................................................2-60
Create a Menu ......................................................................................2-66

USING THE .NET FRAMEWORK ......................................................................3-1


Using .NET Framework Classes.............................................................3-2
Generating Random Numbers ....................................................3-4
Getting Information about the Computer.....................................3-6
Working with XML .......................................................................3-8
File Input/Output .......................................................................3-12
Working with Strings .............................................................................3-19
Fields and Properties of the String Class..................................3-19
Methods of the String Class......................................................3-21
Formatting Strings.....................................................................3-29
Using the StringBuilder Class ...................................................3-34
Working with Dates and Times .............................................................3-38
Properties of the DateTime Structure .......................................3-38
Methods of the DateTime Structure ..........................................3-41
Using the TimeSpan Structure..................................................3-43

LAB 3: USING THE .NET FRAMEWORK .......................................................3-51


Lab 3 Overview.....................................................................................3-52
Work with Dates and Times..................................................................3-53
Write and Read XML ............................................................................3-57
Work with Strings..................................................................................3-63
Create a Menu ......................................................................................3-70

TOC-2 Learning to Program Using Visual C# 2008


Copyright © by Application Developers Training Compan
All rights reserved. Reproduction is strictly prohibited.
Table of Contents

BRANCHING AND FLOW CONTROL ...............................................................4-1


Branching in Code ..................................................................................4-2
Conditional Branching.................................................................4-2
Repeating Code Blocks ........................................................................4-11
Unbounded Looping..................................................................4-11
Looping a Specific Number of Times ........................................4-15
The foreach Loop......................................................................4-21
Unconditional Branching.......................................................................4-23
The break Statement ................................................................4-23
The Goto Statement..................................................................4-24
The Continue Statement ...........................................................4-26

LAB 4: BRANCHING AND FLOW CONTROL.................................................4-31


Lab 4 Overview.....................................................................................4-32
Use a For Loop to List All the Windows Services .................................4-33
Use a For Each Loop to List All the Windows Services........................4-38
Display Service Status Information.......................................................4-40

CLASSES AND OBJECTS.................................................................................5-1


Introducing Objects and Classes ............................................................5-2
Revisiting .NET Framework Classes ..........................................5-2
Using Class Properties ...............................................................5-8
Calling Class Methods ................................................................5-9
Creating Your Own Classes .................................................................5-12
Creating Your First Class..........................................................5-13
Adding XML Comments ............................................................5-17
Using the Class View Window ..................................................5-20
Using the Class Designer .........................................................5-21
Investigating the Code ..............................................................5-31
Adding the Code .......................................................................5-34
Add Another Method and Test the Class ..................................5-36
Working with the Object Test Bench.........................................5-40
Working with Classes ...........................................................................5-44
Value Types vs. Reference Types ............................................5-44
Setting Reference Variables to Null and Disposing ..................5-46
Providing for Deterministic Finalization.....................................5-50
Overriding Object Class Functionality.......................................5-55
Manipulating Object References...............................................5-57
Instance vs. Static Members.....................................................5-60
Thinking More about Static Members .......................................5-63
Learning to Program Using Visual C# 2008 TOC-3
Copyright © by Application Developers Training Compan
All rights reserved. Reproduction is strictly prohibited.
Table of Contents

LAB 5: CLASSES AND OBJECTS ..................................................................5-67


Lab 5 Overview.....................................................................................5-68
Create the LogFile Class ......................................................................5-69
Modify the LogFile Class Using the Class Designer.............................5-72

PROPERTIES AND METHODS.........................................................................6-1


Overview of Properties and Methods......................................................6-2
Properties ...............................................................................................6-3
Calculating Values for Properties................................................6-4
Validating Values in Properties ...................................................6-6
Methods ..................................................................................................6-9
Passing Arguments to Methods ................................................6-10
Methods in Classes...................................................................6-14
Class Constructors....................................................................6-15
Saving and Retrieving Information............................................6-18
Returning and Passing Arrays ..................................................6-26
Instance and Static Members ...................................................6-31

LAB 6: PROPERTIES AND METHODS ..........................................................6-39


Lab 6 Overview.....................................................................................6-40
Create the Order Class.........................................................................6-41
Validate and Calculate Property Values ...............................................6-48
Save and Retrieve Orders ....................................................................6-55

OBJECT-ORIENTED TECHNIQUES .................................................................7-1


Inheritance ..............................................................................................7-2
Derived Classes..........................................................................7-5
Abstract Classes and Members ................................................7-14
Sealed Classes and Members ..................................................7-19
Interfaces ..............................................................................................7-22
Implementing an Interface ........................................................7-24
Interfaces in the .NET Framework ............................................7-27
Organizing Classes...............................................................................7-30
Partial Classes ..........................................................................7-30
Nested Classes.........................................................................7-31
Namespaces .............................................................................7-35

LAB 7: OBJECT-ORIENTED TECHNIQUES ..................................................7-43


Lab 7 Overview.....................................................................................7-44
Derived Classes....................................................................................7-45

TOC-4 Learning to Program Using Visual C# 2008


Copyright © by Application Developers Training Compan
All rights reserved. Reproduction is strictly prohibited.
Table of Contents

Overriding and Overloading Members..................................................7-54


Implement an Interface .........................................................................7-59

WORKING WITH ARRAYS ................................................................................8-1


Introducing Arrays...................................................................................8-2
Creating and Filling Arrays..........................................................8-6
Initializing Arrays.......................................................................8-11
Retrieving Data from Arrays......................................................8-13
Arrays and Method Parameters ................................................8-15
Arrays in the .NET Framework..................................................8-17
Manipulating Arrays ..............................................................................8-19
Sorting Arrays ...........................................................................8-20
Allowing for More Flexible Sorting ............................................8-24
Searching in Arrays...................................................................8-35
Creating Indexers .................................................................................8-41
Adding an Enumerator ..............................................................8-48

LAB 8: WORKING WITH ARRAYS .................................................................8-55


Lab 8 Overview.....................................................................................8-56
Fill and Display an Array with Windows Services .................................8-57
Sort the Array of Services.....................................................................8-63
Display a Subset of Services ................................................................8-68

DELEGATES AND EVENTS ..............................................................................9-1


Motivating Delegates ..............................................................................9-2
Testing the FileSearch0 Class ....................................................9-7
FileSearch1: Modifying the FileSearch0 Class ...........................9-8
FileSearch1a: Inheritance is a Possible Solution........................9-9
Using an Event Interface Class.................................................9-12
Introducing Delegates...........................................................................9-18
Digging Deeper into Delegates .................................................9-22
Named vs. Anonymous Delegates............................................9-24
Delegate vs. MulticastDelegate ................................................9-28
Working with Events .............................................................................9-30
Declaring and Raising Events...................................................9-30
Multiple Event Handlers ............................................................9-33
Exceptions and Multiple Event Handlers ..................................9-34
Manually Invoking Each Listener ..............................................9-36
Using the .NET Event Design Pattern.......................................9-39

Learning to Program Using Visual C# 2008 TOC-5


Copyright © by Application Developers Training Compan
All rights reserved. Reproduction is strictly prohibited.
Table of Contents

LAB 9: DELEGATES AND EVENTS ...............................................................9-47


Lab 9 Overview.....................................................................................9-48
Use a .NET Delegate............................................................................9-50
Add a Visual Basic 6-Style Event .........................................................9-53
Add a .NET-Style Event........................................................................9-55

GENERICS.......................................................................................................10-1
Introducing Generics.............................................................................10-2
Generic Methods.......................................................................10-5
Generic Classes........................................................................10-8
Advantages of Generics..........................................................10-12
Generics and Arrays ...........................................................................10-13
Sorting Arrays .........................................................................10-13
Sorting with the IComparer Interface ......................................10-15
Sorting with Generic Comparisons .........................................10-18
Searching with Generic Predicates.........................................10-22
Generic Interfaces ..............................................................................10-26
Generic Constraints ............................................................................10-29
Generics and Lists ..............................................................................10-34
Using an ArrayList to Store a Collection of Items ...................10-34
Using a Generic List to Store a Collection of Items ................10-37
Sorting with the List Class.......................................................10-38

LAB 10: GENERICS ......................................................................................10-43


Lab 10 Overview.................................................................................10-44
Sorting and Searching Arrays with Generics ......................................10-45
Using Generic Interfaces and Constraints ..........................................10-55
Managing Collections with Generic Lists ............................................10-62

HANDLING EXCEPTIONS...............................................................................11-1
Perspectives on Exception Handling ....................................................11-2
Exception Handling in .NET ......................................................11-2
The Demonstration Code..........................................................11-4
Getting Started with Exception Handling ..............................................11-5
No Error Handling .....................................................................11-5
Adding a Simple Try/Catch Block .............................................11-8
Unhandled Exceptions ............................................................11-10
Using an Exception Object......................................................11-11
Catching Specific Exceptions .............................................................11-14

TOC-6 Learning to Program Using Visual C# 2008


Copyright © by Application Developers Training Compan
All rights reserved. Reproduction is strictly prohibited.
Table of Contents

Understanding the Exception Hierarchy .................................11-18


Raising Errors .....................................................................................11-21
Using the Throw Keyword.......................................................11-21
Exception-Handling Options ...................................................11-22
Passing Error Information .......................................................11-23
Running Code Unconditionally ...........................................................11-27
The Finally Block.....................................................................11-27
Cleaning Up: The Using Statement ........................................11-29
Creating Exception Classes................................................................11-32

LAB 11: HANDLING EXCEPTIONS ..............................................................11-39


Lab 11 Overview.................................................................................11-40
Add Simple Exception Handling .........................................................11-41
Handle Individual Exceptions..............................................................11-46
Run Code Unconditionally ..................................................................11-53

COLLECTION CLASSES .................................................................................12-1


Generics, Collections, and Interfaces ...................................................12-2
Introducing the Generic Collection Interfaces ...........................12-3
The Generic List ...................................................................................12-7
Working with the List Class.......................................................12-8
Working with Predicates .........................................................12-43
Working with Dictionaries, Stacks, and Queues .................................12-55
Storing Key/Value Pairs Using a Dictionary............................12-56
Using the SortedDictionary and SortedList Classes ...............12-63
Using Queues and Stacks ......................................................12-71
Creating Your Own Generic Collection Classes .................................12-78
Sample Scenario.....................................................................12-79
Creating the Custom Collection Class ....................................12-80
Consuming the Custom Collection..........................................12-85

LAB 12: COLLECTION CLASSES ................................................................12-92


Lab 12 Overview.................................................................................12-93
Create and Fill SortedDictionary.........................................................12-95
Add List with File Information............................................................12-100
Sort the FileInfo List..........................................................................12-102

NEW LANGUAGE FEATURES ........................................................................13-1


LINQ and Languages............................................................................13-2

Learning to Program Using Visual C# 2008 TOC-7


Copyright © by Application Developers Training Compan
All rights reserved. Reproduction is strictly prohibited.
Table of Contents

The Sample Application ............................................................13-2


Modifying the Sample ...............................................................13-4
Implicitly Typed Local Variables and Object Initializers ........................13-7
Implict Type Declarations..........................................................13-7
Object Initializers.......................................................................13-9
Lambda Expressions, Extension Methods, and Anonymous
Types ..................................................................................................13-14
Lambda Expressions ..............................................................13-14
Extension Methods .................................................................13-23
Anonymous Types ..................................................................13-28

LAB 13: NEW LANGUAGE FEATURES .......................................................13-35


Lab 13 Overview.................................................................................13-36
Add Implicit Type Declarations and Object Initializers........................13-37
Add Lambda Expressions...................................................................13-42

INDEX........................................................................................................INDEX-1

TOC-8 Learning to Program Using Visual C# 2008


Copyright © by Application Developers Training Compan
All rights reserved. Reproduction is strictly prohibited.

You might also like