C#.NET
C# Programming – Table of Contents
Part 1: C# Language Fundamentals
- Introduction to C#
- What is C# programming Language?
- Structure of a C# Program
- Writing first C# Program
- A Close look of our first sample program, line by line
- Using Keyword
- The Main() method
- The static keyword
- The (.) operator
- Compiling and running the program
- Using the csc.exe, the command-line complier
- Using the Visual Studio IDE
- Reading and Writing to Console
- A Close look of our first sample program, line by line
- C# Data Types and Basics
- Types
- Variables and Constants
- Enumerations – Alternative to Constants
- Escape Sequence in C#
- Strings
- Identifiers
- Expressions
- Whitespace
- Statements
- Casting
- Date Type Conversions
- Implicit conversions
- Explicit Conversions
- Difference between Parse() and TryParse()
- Boxing and Un-Boxing in C#
- Date Type Conversions
- Operators and Control Flow
- Operators
- The Assignment Operator (=)
- Mathematical Operators
- Relational Operators
- User of Logical Operators with Conditionals
- Conditional Branching Statements
- .Else Statement
- Nested If Statements
- Switch Statements: an alternative to nested ifs
- Iteration Statements
- The goto statement
- The while Loop
- The do…while Loop
- The for Loop
- The foreach Loop
- Operators
- Methods in C#
- Method Declaration
- Parameter Passing
- Value Parameters
- Reference Parameters
- Output Parameters
- Parameters Array
- Commenting in C#
- Array in C#
- Declaring Arrays
- Accessing Array Elements
- Multi-Dimensional Arrays
- Jagged Arrays
- Passing Arrays as Function arguments
- Param Arrays
- Array Class
- Strings in C#
- string vs String Class
- Declaring and Initializing Strings
- Immutability of String Objects
- String Escape Sequences
- Format Strings
- Using StringBuilder for Fast String Creation
- Properties of the String Class
- Methods of the String Class
Part 2: Object Oriented Programming with C#
- Classes and Objects
- Define a Class
- Creating and using objects
- Adding methods to a Class
- Constructors in C#
- Types of Constructors
- Constructor overloading
- Constructors and inheritance
- Destructors in C#
- Access Modifiers in C#
- Public
- Private
- Protected
- Internal
- Protected Internal
- Methods in C#
- Creating and calling a method
- Adding parameters
- Static Methods
- C# method parameters
- Value parameters
- Reference Parameters
- Output parameters
- Properties and Indexers in C#
- Properties, Static Properties
- Indexers
- Static behavior in C#
- Static methods
- Static properties
- Static Constructors
- Encapsulation
- Why Encapsulation
- Inheritance
- The Base Class
- The Sub Class ( Derived Class)
- Using the Base class constructors
- Sealed Classes
- Polymorphism
- Method Overloading (Static Polymorphism)
- Method Overriding (Dynamic Polymorphism)
- Operator Overloading
- Abstract Classes
- Creating an abstract class
- Abstract methods
- Concrete members
- Interfaces in C#
- Creating and implementing interfaces
- Using Interfaces
- Diff between Abstract Class and interface
Part 3: Advanced C#
- Collections
- Primary Collection Classes
- List Collection
- List
- Array List
- Hash Table
- Dictionaries
- Stack
- Queue
- Generics
- C# without Generics
- Introducing Generic Types
- Constraints
- Generic Methods
- Generic Internals
- Enumerations
- Declaring enumerations
- Delegates, Events, and Lambda Expressions
- Declaring a Delegate
- Method pointers
- Events in C#
- Using I/O
- The Stream Classes
- Console I/O
- Files and Directories
- Reading and writing Binary Data
- Using StringReader and StringWriter
- Exception handling
- Basic Error Handling with Exceptions
- Catching Exceptions
- General Catch Block
- Guidelines for Exception Handling
- Multithreading
- Thread States: Life Cycle of a Thread
- Running and Controlling a Separate Thread
- Passing Parameters to Threads
- Thread Pooling
Leave a comment