- Understanding OOP
- Class and Object
- Fields
- Understanding Fields
- Access Modifiers of Fields
- Playing with Fields of Multiple Objects
- Static Fields
- Constant Fields
- Readonly Fields
- Local Constants
- Methods
- Understanding Methods
- Encapsulation
- Local Variables & Parameters
- this keyword
- Object reference as Arguments
- Default Arguments
- Named Arguments
- Method Overloading
- Parameter Modifiers - Default
- Parameter Modifiers - ref, out, params
- ref Returns
- Local Functions
- Static Local Functions
- Recursion
- Important Points to Remember about Methods
- Constructor
- Understanding Constructor
- Types of Constructor
- Instance Constructors
- Static Constructor
- Constructor Overloading
- Important Points to Remember about Constructors
- Properties & Indexers
- Creating Properties
- Readonly & Writeonly Properties
- Auto-Properties with Accessor Accessibility
- Auto-Implemented Property Initializers
- Important Points to Remember about Properties
- Creating Indexers
- Indexer Overloading
- Inheritence, Hiding, Overriding
- Creating Inheritance
- Types of Inheritance
- The 'base' Keyword
- Parent Class's Constructor
- Method Hiding
- Method Overriding
- Sealed Classes
- Sealed Methods
- Abstraction & Interface
- Abstraction
- Abstract Classes
- Abstract Methods
- Gaming Characters using Inheritance
- Creating Interfaces
- Dynamic Polymorphism with Interfaces
- Multiple Inheritance with Interfaces
- Interface Inheritance
- Explicit Interface Implementation
- Namespaces & Static
- Creating Namespaces
- Nested Namespaces
- Importing Namespaces
- Creating Using Alias
- Static Keyword (Class - Field - Constructor - Property - Method)
- Using Static
- Partial, Static, Sealed, Inner, Abstract & Collection Classes
- Partial Classes & Methods
- Static Classes & Methods
- Sealed Classes & Methods
- Abstract Classes & Methods
- Inner Class
- Enumerations (Enum)
- Structure
- Creating Structures
- Structures with Constructors
- Understanding Structures (vs) Class Practically
- Readonly Structures
- Primitive Types as Structures
- Exception Handling
- Handling Null
- Generics
- Generic Classes
- Multiple Generic Parameters
- Generic Constraints
- Generic Methods
- Generic Collection Classes And Its Advantages
- Type Conversion & System.Object class
- Overview of Type Conversion
- Implicit & Explicit Casting
- Parse & TryParse
- Conversion Methods
- Important Points to Remember about Type Conversion
- Boxing & Unboxing
- Overview of System.Object class
- Understanding & Overriding Methods of Object class
- Important Points to Remember about Object class
- Extension Methods & Pattern Matching
- Extension Methods
- Pattern Matching
- Implicitly Typed Variables
- Dynamically Typed Variables
- Inner Classes
- Garbage Collection, Destructors, IDisposable
- Garbage Collection & Generations
- Destructors
- IDisposable
- Using Declaration
- Delegates & Events
- Creating Delegates
- Multi Cast Delegates
- Events
- Auto-Implemented Events
- Anonymous Methods
- Lambda Expressions ***
- Func
- Action
- Predicate
- EventHandler
- Expression Trees
- Expression Bodied Members
- Switch Expression
- Arrays
- Creating Arrays
- Arrays with 'for' loop
- Arrays with 'foreach' loop
- Overview of System.Array class
- System.Array.IndexOf
- System.Array.BinarySearch
- System.Array.Clear
- System.Array.Resize
- System.Array.Sort
- System.Array.Reverse
- Mult-Dim Arrays
- Jagged Arrays
- Array of Objects
- CopyTo and Clone
- Deep Copy
- Collections
- Introduction to Collections
- List **
- Add, AddRange
- Insert, InsertRange
- Remove, RemoveAt, RemoveRange, RemoveAll, Clear
- IndexOf, BinarySearch, Contains
- Sort, Reverse
- ToArray, ForEach
- Exists, Find, FindIndex, FindLast, FindLastIndex, FindAll
- ConvertAll
- Dictionary
- SortedList
- Hashtable
- HashSet
- ArrayList
- Stack
- Queue
- Collection of Objects
- Object Relations
- Collection Classes and Interfaces Hierarchy
- IEnumerable and IEnumerator ***
- Iterator and Yield Return
- Custom Collections
- Custom Collection with IEnumerable
- Custom Collection with ICollection
- Custom Collection with IList
- IEquatable
- IComparable
- IComparer
- Covariance
- Contravariance