Tutorialspoint

Mid-Year Savings Flat 10% OFF, Use Code: MID10

C# Intermediate - Part II (Reflection, Events, LINQ)

person icon Ivan Iliev

4.5

C# Intermediate - Part II (Reflection, Events, LINQ)

Value and Reference Types, Generics, Reflection, Delegates and Events, Lambda and LINQ

updated on icon Updated on Jul, 2024

language icon Language - English

person icon Ivan Iliev

category icon Development ,Programming Languages,C#

Lectures -31

Resources -8

Duration -11 hours

4.5

price-loader

30-days Money-Back Guarantee

Training 5 or more people ?

Get your team access to 10000+ top Tutorials Point courses anytime, anywhere.

Course Description

This course will start with the explanation of intricacies between out, ref and in keyword. Then the students will learn about new data types (tuples and structures) – when and why they shall be used. After grasping all of the preceding knowledge there shall be no mistakes when students use value or reference types. The late-bounding (enabled by various techniques of polymorphism – inheritance, object, dynamic, generics and reflection) opens new doors that will be explored in this course in theory and practice.

The topics about delegates and events are very interesting and usually difficult for new developers. The concept of holding as a reference a method is something common to functional programming but C# allows you to get the advantages of that feature too. The students that will finish this course won’t have problems in understanding when and how to use delegates. The Event-driven Design (EDD) is based on the work with events and delegates (wired to them). Coupling EED with the knowledge and characteristics of OOP will help students build web, mobile and graphical applications in the near future/courses easily.

The last two important concepts that will be taught in this course are lambda expressions and LINQ. Understanding how they work will improve not only the development speed of different tasks/algorithms but will give the students opportunity to grasp the clever use of delegates, generics and the so called ‘Fluent API’ – a technique that will be used later (when we separate and specify our components/libraries of the n-tier application and/or use ORM such as EF Core).

Before we start making multi-tier applications a strong foundation of knowledge, skills and experience with solving simple tasks are necessary. This course is the third stepping stone towards achieving that goal.

I hope that my students will be benevolent toward each other in the Q&A section of the courses and be successful in their future career as a software developer (and engineer).

Goals

  • The different purposes of out, ref and in keyword.
  • The similarities and distinctions between classes, structures and tuples.
  • When and why to use dynamic keyword.
  • What the dangers of not knowing the difference between value and reference types are.
  • How to compare objects with Equals and GetHashCode methods and when to use IComparable and IComparer.
  • Reverse engineer classes with the reflection technique.
  • What the delegates and events are and when and why you should use them.
  • Exotic examples with delegates and events and how they blend with some of the ideas of OOP (encapsulation and polymorphism).
  • Five different ways of writing/reading files.
  • What lambda expressions and LINQ are. Solve practical tasks with them.

Prerequisites

  • Students should have knowledge about the basics of Object-oriented programming.
  • Finishing my course "C# Intermediate - Part I (Mastering OOP)" will be of great help.
C# Intermediate - Part II (Reflection, Events, LINQ)

Curriculum

Check out the detailed breakdown of what’s inside the course

Parameters, Tuples and Structures
7 Lectures
  • play icon Summary 07:33 07:33
  • play icon Out, ref and in parameters 27:31 27:31
  • play icon Tuples 40:29 40:29
  • play icon Enums and Structures 17:41 17:41
  • play icon Exercises I
  • play icon Solutions to Ex. I - Part I 34:56 34:56
  • play icon #5 Solutions to Ex. I - Part II 34:30 34:30
Dynamic, Reflection, Generics, Comparing objects
10 Lectures
Tutorialspoint
Delegates, Events, Files, Lambda Expressions, LINQ
14 Lectures
Tutorialspoint

Instructor Details

Ivan Iliev

Ivan Iliev

Greetings, stranger! :) I am not surprised to see your kind here. If you want to break free from the Singleton pattern and the exceptional thought about learning from more than one teacher pops up in your mind stack, then you better try that idea now, before the memory reallocation takes place. Some say that in order to become a great software developer you shall learn from the start. The mighty and fearsome kung-fu legends of the past talked and taught about the importance of a strong foundation. In their case that was the core and the legs, in our case, that’s the fundamental theory that will allow us to build complex and meaningful applications.

But don’t be fooled by the seemingly simple task – the casting of that theory into practice will have its price – the asynchronous 0s and 1s that will create the never-ending illusion of everything. The battles ahead will contain different data types, complicated concepts, composite layers of business logic, a variety of databases, and on top of that a selection of presentation layers for the different tastes of the end users. If you are intrepid and passionate enough, merciful and generous towards my lack of ‘x’ years in renowned universities and companies – you have the basic requirements and I am thankful. I will do my best so you can become what I am not – a better version in that repository! :)

P.S.: If you enjoy playing computer games like Witcher 3, WarCraft 3 TFT, Heroes 3 Might and Magic, AOE 2/3, and Diablo 2 – congratulations, you met the recommended requirements for my courses. :)

P.S.S: I have been teaching professional classes in Software Development for 5 years and have a Bachelor's degree in Business Information Technology.

Course Certificate

Use your certificate to make a career change or to advance in your current career.

sample Tutorialspoint certificate

Our students work
with the Best

Related Video Courses

View More

Annual Membership

Become a valued member of Tutorials Point and enjoy unlimited access to our vast library of top-rated Video Courses

Subscribe now
Annual Membership

Online Certifications

Master prominent technologies at full length and become a valued certified professional.

Explore Now
Online Certifications

Talk to us

1800-202-0515