Duration 3 days – 21 hrs
Overview
The C# Refresher training course is designed to help participants revisit and strengthen their knowledge of C# programming. This course covers essential concepts, advanced features, and best practices of C# to ensure participants are well-equipped for development tasks. The course is a mix of theory, practical exercises, and real-world examples to reinforce learning.
Objectives
- Revisit and understand the core concepts of C# programming.
- Utilize advanced C# features and best practices.
- Write efficient and maintainable C# code.
- Implement object-oriented programming principles effectively.
- Work with collections, generics, and LINQ for data manipulation.
- Handle exceptions and manage resources properly.
- Develop and debug C# applications using Visual Studio.
Audience
- Developers with prior C# experience seeking a refresher.
- Software engineers looking to reinforce their C# skills.
- IT professionals transitioning to C# development.
- Anyone preparing for advanced C# development projects.
Pre- requisites
- Basic understanding of C# programming.
- Familiarity with object-oriented programming concepts.
- Experience with Visual Studio or similar IDEs.
Course Content
Module 1: Introduction and Core Concepts Review
- Overview of C# and .NET
- Key features of C#
- Setting up the development environment
- Writing and running basic C# programs
Module 2: Data Types and Variables
- Value types and reference types
- Declaring and initializing variables
- Type conversion and casting
- Working with strings and dates
Module 3: Control Structures
- Conditional statements (if, else, switch)
- Looping constructs (for, foreach, while, do-while)
- Using break, continue, and goto
- Exception handling with try, catch, finally
Module 4: Methods and Functions
- Declaring and invoking methods
- Method parameters and return types
- Method overloading
- Understanding ref and out parameters
Module 5: Object-Oriented Programming (OOP)
- OOP principles (encapsulation, inheritance, polymorphism, abstraction)
- Defining and using classes and objects
- Constructors and destructors
- Inheritance and method overriding
- Abstract classes and interfaces
Module 6: Collections and Generics
- Working with arrays and collections
- Using List, Dictionary, Queue, and Stack
- Introduction to generics
- Using generic collections and methods
Module 7: LINQ (Language Integrated Query)
- Introduction to LINQ
- Writing LINQ queries
- Using LINQ to Objects, LINQ to XML, and LINQ to SQL
- Understanding lambda expressions
Module 8: Delegates and Events
- Understanding delegates
- Creating and using delegates
- Events and event handling
- Using built-in delegates (Func, Action, Predicate)
Module 9: Error Handling and Resource Management
- Handling exceptions effectively
- Custom exceptions
- Using using statement for resource management
- Implementing IDisposable interface
Module 10: Advanced C# Features
- Working with anonymous methods and expressions
- Understanding and using attributes
- Exploring reflection and dynamic types
- Asynchronous programming with async and await
Module 11: Working with Visual Studio
- Overview of Visual Studio features
- Using the debugger
- Writing and running unit tests
- Productivity tools and extensions
Module 12: Practical Exercises and Projects
- Hands-on coding exercises
- Real-world application development scenarios
- Group projects and collaborative coding
- Review and feedback on code


