• Introduction to C#.NET
  • Object Oriented Programming
  • C#: The OOP Language
  • The NET Framework
  • CLR, MSIL, JIT and Managed Code
  • Metadata, Assemblies, The Manifest and Garbage Collection
  • Putting Things Together
  • A First Look at the C# Code
  • The C# Code
  • The IL Code
  • Using the Library File
  • How to Get a Free C# Compiler
  • Compiling Programs in the Command Line Environment
  • Comparison of C# and C++
  • Features of C#
  • Building the Program Logic
  • UsingConditions
  • RelationalOperators
  • LogicalOperators
  • TheBitwiseOperators
  • The ifelseConstruct
  • ManipulatingCharacters
  • The switchConstruct
  • TheConditionalExpression
  • UsingLibraries
  • Repetition Loops
  • Nesting Loops
  • Branching Statements
  • Arrays
  • Multi Dimensional Arrays
  • Jagged Arrays
  • Using Program Arguments
  • Using .NET Properties and Methods with Arrays
  • The for each Loop
  • C# Programming
  • The “Hello,World!”C#Program
  • Compiling and Running the Program
  • Comments
  • Class Declaration
  • The Main Method
  • Using the NET Methods for Displaying Results
  • Using Directives
  • Using Local Variables
  • TheProgramArchitecture
  • Qualifying Names
  • Common Conventions for Writing Code
  • Code Documentation
  • C# Data Types
  • Data Types
  • Builtin Data Types
  • ValueTypes
  • Variable Initialization
  • DefaultValues
  • ReferenceTypes
  • TheC#ReferenceTypes
  • Boxing and Unboxing
  • SimpleDataTypes
  • Creating and Manipulating Arithmetic Expressions
  • The Basic Arithmetic Operators (+,–,*, /)
  • The Modulus Operator (%)
  • The Assignment Operators
  • Increment and Decrement Operators (++,––)
  • Operator Associativity
  • HowtoGet theTypeName
  • Evaluating Expressions with Mixed Types
  • Adding a Suffixto Numeric Data
  • Real Types
  • Integral Types
  • Conversion between Types
  • The charType
  • Formatting Results (Currency, Decimal, Fixedpoint, Numeric, Scientific, Hexadecimal, NullableTypes
  • Using the ??Operator
  • The string Type
  • StringExpressions
  • String Operators
  • The@Symbol
  • Reading the Keyboard Input
  • Class using the parse Method
  • UsingClasses
  • ClassDeclaration
  • Class Instantiation
  • Namespaces
  • Nesting Namespaces
  • The Namespace Alias Qualifier
  • Access Levels
  • Properties and UsingProperties
  • ReadonlyProperties
  • Accessor Accessibility
  • StaticMembers and StaticClasses
  • Constants, Constructors, DeclaringConstructors, PrivateConstructors, StaticConstructors
  • Destructors, PartialClasses
  • FunctionMembers
  • FunctionMembers
  • Polymorphism
  • Virtual and Override Methods
  • Calling Members of the Base Class
  • Method Overloading and Overriding Virtual Methods on the Base Class
  • Abstract Classes and Methods
  • Indexers
  • Structs, Enums and Attributes
  • Structs vs Classes
  • Passing Structs and Classes to Methods
  • Attributes
  • Calling Native Functions
  • Emulating Unions
  • Generics

What Are Generics?

Using Generic Collections


Generic Methods

Generic Methods inside Generic Classes

Overloading Generic Methods


Generic Interfaces

Limitations of Using Generics

ICollection, ICollectionMembers, IDictionary, IDictionary Members

Creating Your Own Generic Classes

Generic Methods, Generic Methods inside Generic Classes, Overloading Generic Methods

GenericDelegates, Generic Interfaces, BenefitsofUsingGenerics, LimitationsofUsingGenerics

  • Interfaces
  • What Is an Interface
  • Declaring an Interface
  • Interface Implementation
  • Explicit Interface Implementation
  • Hiding Members of the Base Class, Versioning, Hiding Interface Members
  • Exceptions
  • Errors and Exceptions
  • Throwing an Exception, Catching an Exception, Organizing the Handlers, Sequence of Events in Handling Exceptions, Expected Exceptions in File Processing
  • Reading Text Files, Writing and Appending Text Files
  • The finally Block, The try finally Statement, The try catch finally Statement, User defined Exceptions, Using the Stack Trace Property
  • DelegatesandEvents
  • What Is aDelegate?, DeclaringDelegates, CreatingaDelegate, Invoking the Delegate, Associating a Delegate with More Than One Method
  • Adding and Removing Delegates, Using NET Methods to Add and Remove Delegates, Anonymous Methods, OuterVariables, Restrictions on Using Anonymous Methods
  • Covariance, Contravariance, Events, Using Events in Applications
  • Collections and Iterators
  • Collections Classes, The Stack Collection, Stack Members, The Queue Collection,Queue Members
  • The ArrayList Collection, ArrayList Members, The Sorted List Collection, Sorted List Members
  • The Hash table Collection, Hash table Members, Specialized Collections
  • The List Dictionary Collection, List Dictionary Members
  • The Linked List Collection
  • Using Enumerators, Iterators, The Iterator Blocks, The yield Statement
  • Assemblies and Versioning
  • PE Files, Metadata, Security Boundary, Versioning, Manifests
  • MultiModule Assemblies, Private Assemblies, Shared Assemblies, Public Key Encryption
  • Attributes and Reflection
  • Attributes, Intrinsic Attributes, Custom Attributes, Reflection, Reflection Emit
  • Marshaling and Remoting, Application Domains, Context
  • Threads and Synchronization
  • Threads
  • Synchronization
  • Race Conditions and Deadlocks
  • Streams
  • Files and Directories
  • Reading and Writing Data
  • Asynchronous I/O
  • Network I/O
  • Web Streams
  • Serialization
  • Isolated Storage

Course Video

The Course Videos Section.

Course Overview

The Course Overview Section.