Learn your way! Get started

Advanced.NET Framework 2.0 Using C# 2005: Volume 3

with experts Jan Fransen, Scott Barker


Course at a glance

Included in these subscriptions:

  • Dev & IT Pro Video
  • Dev & IT Pro Power Pack
  • Power Pack Plus

Release date Release date 3/16/2007
Level Level Advanced
Runtime Runtime 8h 19m
Closed captioning Closed captioning N/A
Transcript Transcript N/A
eBooks / courseware eBooks / courseware Included
Hands-on labs Hands-on labs Included
Sample code Sample code Included
Exams Exams Included
Platform Platform Internet Explorer Only


Enterprise Solutions
Enterprise Solutions

Need reporting, custom learning tracks, or SCORM? Learn More



Course description

In this volume, you’ll learn about the .NET Framework 2.0 system types like Generic and Reference types. Work with groups of data using various classes like Collection, Hashtable, ArrayList, and Dictionary. Improve type safety and performance using generic collections and manage data better by using specialized collections. You’ll learn about object serialization and working with XML formatted data. Manage files and folders using the System.IO namespace. See how to work with external data using the Stream classes.

Meet the experts

Jan Fransen Jan Fransen has been working to educate people in the best ways to use Microsoft products for more than 15 years. She's written both data-based and document-based applications for large and small companies and has helped hundreds of Office users and developers get started on the right foot through public and onsite training classes. As a writer, Jan has developed training courseware, contributed to books on Microsoft Office, written white papers for publication on MSDN, and created samples designed to help developers get up to speed quickly on new Microsoft products and features.

Scott Barker F. Scott Barker has over 15 years of experience as a software developer in Visual Basic .NET and most recently in C#. He has been a Microsoft MVP and worked at Microsoft as a member of the Access and FoxPro teams. Scott is a seasoned trainer and frequent speaker at Microsoft conferences worldwide. He has also been a contributing editor and writer for various technical magazines and has written several software development books.


Course outline



Module 1

.NET Framework Class Library (26:12)
  • Introduction (01:36)
  • Overview (00:41)
  • System Types (00:48)
  • Value Type / Ref. Types (02:42)
  • Built-in Value Types (00:56)
  • Number Types (00:58)
  • Demo: Numeric Types (02:03)
  • ToString Method (00:46)
  • Demo: Numeric ToString (01:55)
  • Instance vs. Static (00:25)
  • Nullable Type (00:45)
  • Demo: Numeric Static Methods (02:06)
  • Demo: Nullable Type (02:54)
  • Dates and Times (01:16)
  • Demo: Date/Time Properties (01:01)
  • Demo: Date/Time ToString (01:43)
  • Date/Time Instance Methods (01:20)
  • Date/Time Static Methods (01:41)
  • Summary (00:27)
Reference Types (32:25)
  • Introduction (00:35)
  • Work w/Reference Types (00:13)
  • Copy a Value Type (00:38)
  • Copy a Reference Type (01:01)
  • Work with Strings (02:43)
  • Stringbuilder Class (00:36)
  • Demo: ReferenceTypes (02:40)
  • Demo: String Formatting (03:45)
  • Demo: Concatenate Strings (00:28)
  • Demo: Stringbuilder (02:34)
  • Overview: Arrays (00:24)
  • Array Methods (00:21)
  • Iterating Arrays (00:37)
  • Demo: Work with Arrays (05:50)
  • Handling Exceptions (01:25)
  • Demo: Work w/Exceptions (07:58)
  • Summary (00:30)

Module 2

Conversion (12:40)
  • Introduction (00:37)
  • Implicit Conversions (00:54)
  • Convert with Casts (00:47)
  • Convert w/.NET Framework (02:01)
  • Boxing / Unboxing (00:50)
  • Demo: Wide/Narrow Convert (02:58)
  • Demo: ToString (01:26)
  • Demo: Parse/TryParse (02:44)
  • Summary (00:19)
Custom Types (22:02)
  • Introduction (00:30)
  • Overview: Custom Types (00:54)
  • Value vs Ref. Type (01:11)
  • Constants (00:52)
  • Enumerations (02:10)
  • Demo: Constants (02:09)
  • Demo: Enumerations (01:00)
  • More Complex Enum. (03:15)
  • Structures (01:17)
  • Constructors (00:53)
  • Properties (00:16)
  • Add Methods to Structure (00:25)
  • Property vs Method (00:48)
  • Demo: Simple Structure (03:25)
  • More Complex Structure (02:34)
  • Summary (00:16)
Creating Classes (21:37)
  • Introduction (00:34)
  • Overview (00:45)
  • Class Constructors (00:48)
  • Properties / Methods (00:35)
  • Demo: A Simple Class (04:24)
  • Inherited Members (00:28)
  • Overloading Methods (00:30)
  • Instance / Shared members (01:09)
  • ApplicationException Class (02:13)
  • Handle Exceptions (01:30)
  • Demo: Exceptions (05:13)
  • Demo: Static Property (01:20)
  • Demo: Static Method (01:37)
  • Summary (00:26)

Module 3

Advanced Custom Types (31:00)
  • Introduction (00:34)
  • Using Attributes (00:45)
  • Built-in Attributes (01:34)
  • TypeForwardedToAttribute (01:08)
  • Build Your Attributes (02:20)
  • Implement Interfaces (01:17)
  • Use IComparable (04:56)
  • Use IDisposable (01:42)
  • Use IConvertible (03:33)
  • Use ICloneable (04:12)
  • Use IEquatable (05:05)
  • Use IFormattable (00:51)
  • Create Custom Interfaces (00:38)
  • View Custom Interface (02:00)
  • Summary (00:21)
Delegates and Events (25:51)
  • Introduction (00:39)
  • Overview: Delegates (03:22)
  • Demo: Delegates (02:15)
  • Overview: Events (02:49)
  • Custom Event Handler (03:31)
  • Generic Classes (06:54)
  • Built-in Generic Classes (00:39)
  • Create Generic Types (00:23)
  • Consume Generic Type (00:15)
  • Add Constraints (01:25)
  • Demo: Generics/Constraints (03:10)
  • Summary (00:24)
Simple Collections (25:58)
  • Introduction (00:48)
  • System.Collections (02:21)
  • Overview: ArrayList (02:12)
  • Demo: ArrayList (05:26)
  • Common Functionality (00:51)
  • IEnumerable Interface (00:45)
  • IEnumerator Interface (00:39)
  • ICollection Interface (00:38)
  • IList Interface (00:35)
  • CollectionBase Class (00:37)
  • ReadOnlyCollectionBase (00:36)
  • Implement Custom Collection (01:45)
  • Sequential Lists (00:26)
  • Queue Class (00:37)
  • Stack Class (00:41)
  • Demo: Queue (00:43)
  • Demo: Stack (02:18)
  • Demo: Queue and Stack (03:24)
  • Summary (00:26)

Module 4

Dictionaries and Sorting (20:31)
  • Introduction (00:31)
  • Dictionary Classes (00:36)
  • Handle Key/Value Pairs (00:40)
  • Hashtable (00:47)
  • GetEnumerator (01:28)
  • Determine Duplicates (00:57)
  • IEqualityComparer (00:48)
  • Demo: Hashtable (01:57)
  • Demo: IEqualityComparer (05:24)
  • SortedList (00:40)
  • Sort Collections (01:22)
  • Comparer Class (00:39)
  • Implement ICompare (00:40)
  • Demo: Sorting Lists (03:30)
  • Summary (00:24)
Generic Collections (18:17)
  • Introduction (00:42)
  • Generic Collections (02:48)
  • Generic List Class (03:08)
  • Use Predicates (01:29)
  • Demo: Array List Issues (01:43)
  • Demo: Generic List (01:57)
  • Demo: Iterate Generic List (01:46)
  • Demo: Find / Predicates (04:14)
  • Summary (00:25)
Additional Generic Collections (16:44)
  • Introduction (00:36)
  • Generic Dictionary Class (01:27)
  • Sorted Classes (01:15)
  • Queues and Stacks (00:57)
  • Generic Queue Class (00:36)
  • Generic Stack Class (00:41)
  • Demo: Generic Dictionary (01:08)
  • Demo: Generic SortedList (01:35)
  • Demo: Generic Queue (00:48)
  • Demo: Generic Stack (01:59)
  • Generic LinkedList (00:44)
  • LinkedList Methods (01:07)
  • LinkedListNode Class (00:41)
  • Demo: Generic LinkedList (02:35)
  • Summary (00:27)

Module 5

Specialized Collections (24:42)
  • Introduction (00:40)
  • Generic Collection Classes (01:19)
  • Generic Collection Enums (00:55)
  • Demo: Gen Collections (04:55)
  • Specialized Collections (01:02)
  • StringCollection (00:49)
  • StringDictionary (00:52)
  • NameValueCollection (01:05)
  • Demo: StringCollection (00:49)
  • Demo: StringDictionary (00:40)
  • Demo: NameValueCollection (01:45)
  • BitArray (01:09)
  • BitVector32 (02:05)
  • Demo: BitArray (02:51)
  • Demo: BitVector32 (03:06)
  • Summary (00:32)
Serializing Objects (26:14)
  • Introduction (00:42)
  • Overview: Serialization (02:36)
  • Serialization Formats (01:07)
  • Start with Serialization (00:29)
  • Specify a Formatter (01:13)
  • Steps to Serialize (02:09)
  • Demo: Serialize Strings (00:13)
  • Serialize a String (03:12)
  • Steps to Deserialize (01:43)
  • Serialize Complex Types (01:02)
  • Deserialize Complex Types (00:53)
  • Catch Exceptions (00:53)
  • Demo: Deserialize Strings (02:15)
  • Demo: Complex Types (07:16)
  • Summary (00:24)
Serializing Custom Objects (29:44)
  • Introduction (00:40)
  • Serialize Custom Class (00:37)
  • Deserialize Custom Class (00:22)
  • Serialize Custom Colls (00:48)
  • Deserialize Custom Colls. (00:43)
  • Demo: Custom Class (04:29)
  • Demo: Custom Collections (06:16)
  • Formatting for SOAP (00:55)
  • Version Compatibility (01:20)
  • OptionalField Attribute (00:37)
  • Make Non-Serializable (01:15)
  • Deserialization Callback (01:10)
  • Demo: Use SOAP Formatter (04:29)
  • Demo: Non-Serialized (04:17)
  • Serialization Tips (01:05)
  • Summary (00:33)

Module 6

Serialize Objects with XML (18:00)
  • Introduction (00:44)
  • XML Serialization (02:02)
  • Simple XML Serialization (00:35)
  • Steps to Serialize XML (01:54)
  • Steps to Deserialize XML (01:23)
  • Serialize a String (02:02)
  • Deserialize a String (03:00)
  • Complex Data Types (01:11)
  • Catching Exceptions (00:50)
  • Serialize Complex Data (01:40)
  • Deserialize Complex Data (02:00)
  • Summary (00:34)
Serialize Classes with XML (12:54)
  • Introduction (00:37)
  • Serialize Classes (00:32)
  • Deserialize Classes (00:36)
  • Serialize Collections (00:39)
  • Deserialize Collections (00:47)
  • Demo: Classes (04:08)
  • Demo: Collections (05:15)
  • Summary (00:18)
Datasets and XML (22:22)
  • Introduction (00:36)
  • Overview (01:09)
  • Write Datasets (00:48)
  • Load Datasets (00:44)
  • Demo: Save Dataset (03:13)
  • Demo: Load Dataset (02:04)
  • Use XML Schemas (00:56)
  • Create Matching Class (00:15)
  • XML Schema Definition Tool (01:50)
  • Demo: Schema Def Tool (02:28)
  • Custom Serialization (00:46)
  • Implement ISerializable (00:39)
  • Serializing Methods (00:32)
  • SerializationInfo (00:25)
  • Custom Deserialization (00:29)
  • Serialization Events (00:42)
  • Demo: Custom Serialization (02:45)
  • Demo: Custom Deserialization (01:36)
  • Summary (00:16)

Module 7

Files and Folders (41:08)
  • Introduction (00:42)
  • Overview (00:48)
  • Work with Drives (00:56)
  • Demo: Drives (03:01)
  • Directories and Folders (04:27)
  • Demo: Directories (02:19)
  • FileSystemWatcher (04:39)
  • Files and Paths (00:59)
  • Monitor File System (03:31)
  • Demo: File/FileInfo Class (00:46)
  • Demo: FileSystemWatcher (05:03)
  • Parse with Path Class (04:00)
  • Demo: Path Class (02:04)
  • Demo: File and FileInfo (07:20)
  • Summary (00:27)
Text Streams (22:54)
  • Introduction (00:34)
  • TextReader/TextWriter (01:28)
  • StringReader (00:36)
  • StringWriter (00:39)
  • Demo: StringReader/Writer (02:51)
  • Read From/Write To (00:34)
  • Stream Base Class (00:35)
  • FileStream Class (01:15)
  • Demo: FileStream Class (04:59)
  • StreamReader/StreamWriter (01:05)
  • BinaryReader/BinaryWriter (00:36)
  • Demo: StreamReader/Writer (01:52)
  • Demo: BinaryReader/Writer (01:10)
  • MemoryStream (00:46)
  • BufferedStream (00:37)
  • Demo: MemoryStream (01:01)
  • Demo: BufferedStream (01:43)
  • Summary (00:26)

Module 8

Compress / Decompress (17:51)
  • Introduction (00:40)
  • Overview (02:05)
  • GZipStream/DeflateStream (01:08)
  • Steps to Compress (01:53)
  • Demo: Compress File (06:12)
  • Steps to Decompress (02:00)
  • Demo: Decompress File (03:33)
  • Summary (00:18)
Isolated Storage (IS) (30:20)
  • Introduction (00:43)
  • Overview: IS (03:01)
  • IsolatedStorageFile Class (02:09)
  • Retrieve IS for Machine (04:14)
  • Work with Folders (02:49)
  • Demo: Work with Folders (02:11)
  • Work with Files (02:17)
  • Demo: Work with Files (01:44)
  • Demo: Create/Store Files (01:36)
  • Demo: Open/Read Files (01:07)
  • Access from Other Apps (01:44)
  • IS File Permission Attrib (00:24)
  • Demo: Compress File in IS (05:54)
  • Summary (00:21)