This 5 day instructor-led training class is presented by Microsoft training partners to their end customers. Channel Partners nationwide hire proven AMS Subject Matter Expert Microsoft Certified Trainers (MCT’s) to teach on-site or on-line classes.
This class is designed for people who are new to .NET 4.0. The course highlights the structure of C# 4.0 programs, language syntax, and implementation details.
This C# class provides the prerequisite C# language knowledge necessary to begin learning to build ASP.NET 4.0 and Windows applications using C#; however, students do not learn to build those applications in this course.
Goals
- Understand the syntax of basic C# programming constructs.
- Learn to create and call methods in a C# application.
- Learn to catch, handle and throw exceptions.
- Learn to perform basic file IO operations in a C# application.
- Learn to create and use new types (enumerations, classes, and structures), and understand the differences between reference types and value types.
- Learn to control the visibility and lifetime of members in a type.
- Learn to use inheritance to create new reference types.
- Learn to manage the lifetime of objects and control the use of resources.
- Learn to define properties and indexers to encapsulate data, and define operators for this data.
- Learn to decouple an operation from the method that implements an operation, and use these decoupled operations to handle asynchronous events.
- Learn to use collections to aggregate data, and use Generics to implement type-safe collection classes, structures, interfaces, and methods.
- Learn to implement custom collection classes that support enumeration.
- Learn to query in-memory data by using LINQ.
- Learn to integrate code written by using a dynamic language such as Ruby and Python, or technologies such as COM, into a C# application.
Outline
- Introducing C# and the .NET Framework
- Introduction to the .NET Framework
- Creating Projects Within Visual Studio 2010
- Writing a C# Application
- Building a Graphical Application
- Documenting an Application
- Running and Debugging Applications by Using Visual Studio 2010
- Lab: Introducing C# and the .NET Framework
- Building a Simple Console Application
- Building a WPF Application
- Verifying the Application
- Generating Documentation for an Application
- Using C# Programming Constructs
- Declaring Variables and Assigning Values
- Using Expressions and Operators
- Creating and Using Arrays
- Using Decision Statements
- Using Iteration Statements
- Lab: Using C# Programming Constructs
- Calculating Square Roots with Improved Accuracy
- Converting Integer Numeric Data to Binary
- Multiplying Matrices
- Declaring and Calling Methods
- Defining and Invoking Methods
- Specifying Optional Parameters and Output Parameters
- Lab: Declaring and Calling Methods
- Calculating the Greatest Common Divisor of Two Integers by Using Euclid’s Algorithm
- Calculating the GCD of Three, Four, or Five Integers
- Comparing the Efficiency of Two Algorithms
- Displaying Results Graphically
- Solving Simultaneous Equations (optional)
- Handling Exceptions
- Handling Exceptions
- Raising Exceptions
- Lab: Handling Exceptions
- Making a Method Fail-Safe
- Detecting an Exceptional Condition
- Checking for Numeric Overflow
- Reading and Writing Files
- Accessing the File System
- Reading and Writing Files by Using Streams
- Lab: Reading and Writing Files
- Building a Simple Editor
- Making the Editor XML Aware
- Creating New Types
- Creating and Using Enumerations
- Creating and Using Classes
- Creating and Using Structs
- Comparing References to Values
- Lab: Creating New Types
- Using Enumerations to Specify Domains
- Using a Struct to Model a Simple Type
- Using a Class to Model a More Complex Type
- Using a Nullable Struct
- Encapsulating Data and Methods
- Controlling Visibility of Type Members
- Sharing Methods and Data
- Lab: Encapsulating Data and Methods
- Hiding Data Members
- Using Static Members to Share Data
- Implementing an Extension Method
- Inheriting From Classes and Implementing Interfaces
- Using Inheritance to Define New Reference Types
- Defining and Implementing Interfaces
- Defining Abstract Classes
- Lab: Inheriting From Classes and Implementing Interfaces
- Defining an Interface
- Implementing an Interface
- Creating an Abstract Class
- Managing the Lifetime of Objects and Controlling Resources
- Introduction to Garbage Collection
- Managing Resources
- Lab: Managing the Lifetime of Objects and Controlling Resources
- Implementing the IDisposable Interface
- Managing Resources Used By an Object
- Encapsulating Data and Defining Overloaded Operators
- Creating and Using Properties
- Creating and Using Indexers
- Overloading Operators
- Lab: Creating and Using Properties
- Defining Properties in an Interface
- Implementing Properties in a Class
- Using Properties Exposed By a Class
- Lab: Creating and Using Indexers
- Implementing an Indexer to Access Bits in a Control Register
- Using an Indexer Exposed by a Class
- Lab: Overloading Operators
- Defining the Matrix and MatrixNotCompatible Types
- Implementing Operators for the Matrix Type
- Testing the Operators for the Matrix Type
- Decoupling Methods and Handling Events
- Declaring and Using Delegates
- Using Lambda Expressions
- Handling Events
- Lab: Decoupling Methods and Handling Events
- Raising and Handling Events
- Using Lambda Expressions to Specify Code
- Using Collections and Building Generic Types
- Using Collections
- Creating and Using Generic Types
- Defining Generic Interfaces and Understanding Variance
- Using Generic Methods and Delegates
- Lab: Using Collections
- Optimizing a Method by Caching Data
- Lab: Building Generic Types
- Defining a Generic Interface
- Implementing a Generic Interface
- Implementing a Test Harness for the BinaryTree Project
- Implementing a Generic Method
- Building and Enumerating Custom Collection Classes
- Implementing a Custom Collection Class
- Adding an Enumerator to a Custom Collection Class
- Lab: Building and Enumerating Custom Collection Classes
- Implementing the IList TItem Interface
- Implementing an Enumerator by Writing Code
- Implementing an Enumerator by Using an Iterator
- Using LINQ to Query Data
- Using the LINQ Extension Methods and Query Operators
- Building Dynamic LINQ Queries and Expressions
- Lab: Using LINQ to Query Data
- Using the LINQ Query Operators
- Building Dynamic LINQ Queries
- Integrating Visual C# Code with Dynamic Languages and COM Components
- Integrating C# Code with Ruby and Python
- Accessing COM Components from C#
- Lab: Integrating C# Code with Dynamic Languages and COM Components
- Integrating Code Written by Using a Dynamic Language into a C# Application
- Using a COM Component from Visual C# Application
To Hire an AMS Microsoft C#, Visual Studio 2010 Subject Matter Expert
Consultant and Instructor who also teaches this class, call 800-798-3901 today!