.NET Framework Fundamentals

These pages are designed to prepare you for the MCTS Exams 70-515, 70-511, and 70-536–and to prepare you for the job of being a professional .NET Framework developer.

In this course, you will learn to:

  • Develop applications that use system types, generics, and collections
  • Create custom classes and inherit from interfaces
  • Respond to events and create custom events
  • Validate input and extract data with regular expressions
  • Browse files and folders
  • Read and write text, binary, and compressed files
  • Monitor the file system for changes

The lessons are broken into three subjects: Framework Fundamentals; I/O; and Arrays, Collections, and Generics. At the end of each subject is a lab that gives you step-by-step instructions for creating a useful application that uses the concepts in that subject.

Framework Fundamentals

All elements of the .NET Framework are built upon a handful of core concepts: system types, custom types, interfaces, and events. System types describe the most basic types in the .NET framework, including strings and integers. All other types are built using system types. Developers can leverage system types to create custom types, which have unique behavior defined by the developer’s custom code.

Typically, developers create custom types by extending one of the existing types. To allow types to be extended, the .NET framework provides the concept of interfaces. Interfaces define standard contracts with which derived types must comply.

Programming with the .NET Framework is rarely linear. Applications must respond to user input, listen for incoming network communications, and perform background processing. The .NET Framework provides events and delegates to allow this non-linear structure. Using these concepts, developers can respond to a mouse click (an event) by running a specified method (the delegate).

Most .NET Framework applications perform some text processing, whether validating user input, generating log files, or reading data from a text file. The most efficient way to process text is to use regular expressions. Regular expressions allow developers to isolate specific portions of text with only a few lines of code. Regular expressions can also be used to update text and format text for output.No matter how basic or complex, all .NET Framework development leverages these concepts.

After completing these tutorials, you will be able to:

  • Manage data in a .NET Framework application by using .NET Framework system types.
  • Implement .NET Framework interfaces to cause components to comply with standard contracts.
  • Control interactions between .NET Framework application components by using events and delegates.
  • Enhance the text handling capabilities of a .NET Framework application, and search, modify, and control text within a .NET Framework application by using regular expressions.

C#

Visual Basic.NET

Value Types in C# Value Types in Visual Basic.NET
Classes, Structures, and Enumerations in C# Classes, Structures, and Enumerations in Visual Basic .NET
Reference Types in C# Reference Types in Visual Basic .NET
Interfaces and Inheritance in C# Interfaces and Inheritance in Visual Basic .NET
Events in C# Events in Visual Basic .NET
Regular Expressions in C# Regular Expressions in Visual Basic .NET
Events in C# Events in Visual Basic .NET
Final Tutorial Practice Lab – C# Final Tutorial Practice Lab – Visual Basic.NET

Input/Output (I/O)

The broad scope of input/output (I/O) encompasses two fundamental concepts: data storage and network communications. Data storage often means writing files to the file system and reading files from the file system. In the .NET Framework, these tasks can be accomplished using a variety of different classes, including many different derivatives of the Stream class and the Reader and Writer classes. These classes provide for reading and writing data in a wide variety of formats, including binary format (a proprietary format that you can define), text format (which are universally readable in applications such as Notepad), and XML format (which is easily processed by applications).

The .NET Framework also includes the file system classes to enable users to create, delete, rename, and perform other management tasks for files and folders. These classes can be used to examine folders and sub-folders to find files of interest that can then be processed using a Stream class.

The .NET Framework also supports isolated storage. Isolated storage can be accessed similarly to the standard file system, but it provides more advanced protection. For example, you can limit isolated storage so that the data is only accessible by your assembly. Almost all applications need to perform some type of I/O.

After completing these tutorials, you will be able to:

  • Access files and folders by using the File System classes.
  • Manage byte streams by using Stream classes.
  • Manage .NET Framework application data by using Reader and Writer classes.
  • Compress or decompress stream information in a .NET Framework application, and improve the security of application data by using isolated storage.

C#

Visual Basic.NET

Browsing Files and Folders in C#
Browsing Files and Folders in Visual Basic.NET
Monitoring the File System with C# Monitoring the File System with Visual Basic.NET
Using Streams Using Streams
Final Input/Output Tutorial Practice Lab – C# Final Input/Output Tutorial Practice Lab – Visual Basic.NET

Arrays, Collections, and Generics

Applications constantly need to organize groups of data, such as a list of products for sale, a shopping cart, or pages in a book. When the data needs to be stored persistently or accessed from multiple instances of the application, developers choose a database. However, when an application needs to store a group of data internally, developers should choose a collection. For even better performance and type-safety, developers should use generics. Almost all applications need to store lists of data.

At the end of this tutorial, you will be able to

  • Use collections and choose the best collection class for different requirements
  • Use dictionaries and choose the best dictionary class for different requirements
  • Use the SortedList, List, Queue, and Stack generic collections
  • Use generics with custom classes

C#

Visual Basic.NET

Arrays and Collections in C#
Arrays and Collections in Visual Basic.NET
Final Collections and Generics Tutorial Practice Lab – C# Final Collections and Generics Tutorial Practice Lab – Visual Basic.NET