Mô tả

Welcome to the "LINQ Tutorial: Master the Key C# Library", the only course you need to become fluent in using library essential for every C# programmer.

No matter what application you work on or ever will work on - you will always need to manipulate collections. Whether it's ordering, filtering, or transforming collections, or anything else - LINQ is the tool for the job. As a core part of .NET, it's a library that every C# programmer must know. LINQ provides the ability to not only query the collections stored in application memory, but also remote data sources, like databases or XML files.

Check out the free video about one of the most commonly used methods from LINQ - the Where method.


This course is practice-oriented. After each lecture, you will solve two coding exercises and one refactoring challenge, where you will transform an awkward code into an elegant, short, and clean code using LINQ. Even if you won't be able to solve the exercise right off the bat, don't worry - an article with a detailed explanation of the solution is provided for each exercise.

This course is for everyone with basic knowledge of C#. Every topic will be explained in detail. In the introduction section, you will learn all you need to continue, like what lambda expressions are or what IEnumerable is.

If you already know some LINQ, this course will help you start using it like a pro, as well as understand how it works under the hood.

By solving 64 coding exercises and 32 refactoring challenges, you will gain practical knowledge of LINQ and become a better programmer. You will start "thinking in LINQ" and using this amazing library will become a natural thing to you.

Don't forget that LINQ knowledge is expected by basically every employer, and it's extremely often verified during interviews. After taking this course, you will gain confidence in discussing the topic of LINQ.

LINQ has two ways of writing queries - the method syntax and the query syntax. We will learn both of them.

You'll be able to access all examples from videos, as well as all coding exercises and refactoring challenges, including solutions, in the Git repository included in this course.


This course comes with a 30-day money-back guarantee. If you are not satisfied, you can return it and get all your money back, no questions asked. In other words, you don't risk anything by purchasing this course. You have nothing to lose, and the knowledge you will gain may take your career to the next level.

So, why hesitate? Join me in this course and start using LINQ like a pro.

Bạn sẽ học được gì

You will learn every method from LINQ library.

You will practice LINQ with 64 coding exercises.

You will learn how to refactor the code to use LINQ with 32 refactoring challenges.

You will become fluent in using LINQ.

You will master both query syntax and method syntax.

You will understand how LINQ works under the hood.

You will understand what lambdas are.

Yêu cầu

  • Basic knowledge of C# programming language.

Nội dung khoá học

38 sections

Welcome!

4 lectures
Welcome! (Basic information and how to get help)
04:02
Installing Visual Studio Community
03:56
Accessing the code - link to the repository
00:18
Accessing the code and what's what in the solution
07:38

Introduction to LINQ

6 lectures
What is LINQ?
10:29
What are lambda expressions?
16:25
LINQ and extension methods
05:10
LINQ, IEnumerable<T> and the method chaining
06:21
Deferred execution in LINQ
08:10
Method syntax vs query syntax
06:07

Any

7 lectures
Any
04:35
Any - coding exercise 1
1 question
Any - coding exercise 1 - solution
00:10
Any - coding exercise 2
1 question
Any - coding exercise 2 - solution
00:21
Any - refactoring challenge
1 question
Any - refactoring challenge - solution
00:27

All

7 lectures
All
02:30
All - coding exercise 1
1 question
All - coding exercise 1 - solution
00:14
All - coding exercise 2
1 question
All - coding exercise 2 - solution
00:31
All - refactoring challenge
1 question
All - refactoring challenge - solution
00:30

Count

7 lectures
Count
02:52
Count - coding exercise 1
1 question
Count - coding exercise 1 - solution
00:06
Count - coding exercise 2
1 question
Count - coding exercise 2 - solution
00:53
Count - refactoring challange
1 question
Count - refactoring challange - solution
00:21

Contains

7 lectures
Contains
08:51
Contains - coding exercise 1
1 question
Contains - coding exercise 1 - solution
00:34
Contains - coding exercise 2
1 question
Contains - coding exercise 2 - solution
00:19
Contains - refactoring challenge
1 question
Contains - refactoring challenge - solution
00:17

OrderBy

7 lectures
OrderBy
07:52
OrderBy - coding exercise 1
1 question
OrderBy - coding exercise 1 - solution
00:13
OrderBy - coding exercise 2
1 question
OrderBy - coding exercise 2 - solution
00:45
OrderBy - refactoring challenge
1 question
OrderBy - refactoring challenge - solution
00:09

MinMax

7 lectures
MinMax
04:47
MinMax - coding exercise 1
1 question
MinMax - coding exercise 1 - solution
00:41
MinMax - coding exercise 2
1 question
MinMax - coding exercise 2 - solution
00:39
MinMax - refactoring challenge
1 question
MinMax - refactoring challenge - solution
00:31

Average

7 lectures
Average
02:42
Average - coding exercise 1
1 question
Average - coding exercise 1 - solution
00:58
Average - coding exercise 2
1 question
Average - coding exercise 2 - solution
00:58
Average - refactoring challenge
1 question
Average - refactoring challenge - solution
00:34

Sum

7 lectures
Sum
02:08
Sum - coding exercise 1
1 question
Sum - coding exercise 1 - solution
00:07
Sum - coding exercise 2
1 question
Sum - coding exercise 2 - solution
00:26
Sum - refactoring challenge
1 question
Sum - refactoring challenge - solution
00:20

ElementAt

7 lectures
ElementAt
02:59
ElementAt - coding exercise 1
1 question
ElementAt - coding exercise 1 - solution
00:48
ElementAt - coding exercise 2
1 question
ElementAt - coding exercise 2 - solution
00:32
ElementAt - refactoring challenge
1 question
ElementAt - refactoring challenge - solution
00:36

First and Last

7 lectures
First and Last
04:29
First and Last - coding exercise 1
1 question
First and Last - coding exercise 1 - solution
00:37
First and Last - coding exercise 2
1 question
First and Last - coding exercise 2 - solution
00:15
First and Last - refactoring challenge
1 question
First and Last - refactoring challenge - solution
00:28

Single

7 lectures
Single
04:21
Single - coding exercise 1
1 question
Single - coding exercise 1 - solution
00:31
Single - coding exercise 2
1 question
Single - coding exercise 2 - solution
00:40
Single - refactoring challenge
1 question
Single - refactoring challenge - solution
00:42

Where

7 lectures
Where
05:42
Where - coding exercise 1
1 question
Where - coding exercise 1 - solution
00:47
Where - coding exercise 2
1 question
Where - coding exercise 2 - solution
01:04
Where - refactoring challenge
1 question
Where - refactoring challenge - solution
00:28

Take

7 lectures
Take
06:29
Take - coding exercise 1
1 question
Take - coding exercise 1 - solution
00:28
Take - coding exercise 2
1 question
Take - coding exercise 2 - solution
01:00
Take - refactoring challenge
1 question
Take - refactoring challenge - solution
00:12

Skip

7 lectures
Skip
06:08
Skip - coding exercise 1
1 question
Skip - coding exercise 1 - solution
00:47
Skip - coding exercise 2
1 question
Skip - coding exercise 2 - solution
01:07
Skip - refactoring challenge
1 question
Skip - refactoring challenge - solution
00:20

OfType

7 lectures
OfType
03:13
OfType - coding exercise 1
1 question
OfType - coding exercise 1 - solution
00:16
OfType - coding exercise 2
1 question
OfType - coding exercise 2 - solution
00:16
OfType - refactoring challenge
1 question
OfType - refactoring challenge - solution
00:45

Distinct

7 lectures
Distinct
03:34
Distinct - coding exercise 1
1 question
Distinct - coding exercise 1 - solution
00:25
Distinct - coding exercise 2
1 question
Distinct - coding exercise 2 - solution
00:58
Distinct - refactoring challenge
1 question
Distinct - refactoring challenge - solution
00:11

Prepend and Append

7 lectures
Prepend and Append
02:10
Prepend and Append - coding exercise 1
1 question
Prepend and Append - coding exercise 1 - solution
00:42
Prepend and Append - coding exercise 2
1 question
Prepend and Append - coding exercise 2 - solution
01:01
Prepend and Append - refactoring challenge
1 question
Prepend and Append - refactoring challenge - solution
00:26

Concat and Union

7 lectures
Concat and Union
03:59
Concat and Union - coding exercise 1
1 question
Concat and Union - coding exercise 1 - solution
00:56
Concat and Union - coding exercise 2
1 question
Concat and Union - coding exercise 2 - solution
00:47
Concat and Union - refactoring challenge
1 question
Concat and Union - refactoring challenge - solution
00:51

Collection type change

8 lectures
Collection type change - part 1 - ToArray, ToList, ToDictionary, ToLookup
06:27
Collection type change - part 2 - AsEnumerable, Cast
04:56
Collection type change - coding exercise 1
1 question
Collection type change - coding exercise 1 - solution
00:40
Collection type change - coding exercise 2
1 question
Collection type change - coding exercise 2 - solution
00:27
Collection type change - refactoring challenge
1 question
Collection type change - refactoring challenge - solution
00:17

Select

7 lectures
Select
06:23
Select - coding exercise 1
1 question
Select - coding exercise 1 - solution
01:03
Select - coding exercise 2
1 question
Select - coding exercise 2 - solution
01:05
Select - refactoring challenge
1 question
Select - refactoring challenge - solution
00:54

SelectMany

8 lectures
SelectMany - theory
06:48
SelectMany - practice
07:34
SelectMany - coding exercise 1
1 question
SelectMany - coding exercise 1 - solution
00:34
SelectMany - coding exercise 2
1 question
SelectMany - coding exercise 2 - solution
00:58
SelectMany - refactoring challenge
1 question
SelectMany - refactoring challenge - solution
01:12

Generating new collections

7 lectures
Generating new collections
06:36
Generating a new collection - coding exercise 1
1 question
Generating a new collection - coding exercise 1 - solution
00:50
Generating a new collection - coding exercise 2
1 question
Generating a new collection - coding exercise 2 - solution
00:51
Generating a new collection - refactoring challenge
1 question
Generating a new collection - refactoring challenge - solution
01:21

Grouping

8 lectures
GroupBy - theory
06:24
GroupBy - practice
06:30
GroupBy - coding exercise 1
1 question
GroupBy - coding exercise 1
01:16
GroupBy - coding exercise 2
1 question
GroupBy - coding exercise 2 - solution
00:55
GroupBy - refactoring challenge
1 question
GroupBy - refactoring challenge - solution
00:57

Intersect and Except

7 lectures
Intersect and Except
07:39
Intersect and Except - coding exercise 1
1 question
Intersect and Except - coding exercise 1 - solution
00:51
Intersect and Except - coding exercise 2
1 question
Intersect and Except - coding exercise 2 - solution
01:02
Intersect and Except - refactoring challenge
1 question
Intersect and Except - refactoring challenge - solution
01:21

Join

8 lectures
Join
08:33
GroupJoin (and how to use LINQ to perform a left join)
08:52
Join - coding exercise 1
1 question
Join - coding exercise 1 - solution
01:03
Join - coding exercise 2
1 question
Join - coding exercise 2 - solution
01:29
Join - refactoring challenge
1 question
Join - refactoring challenge - solution
00:28

Aggregate

7 lectures
Aggregate
08:59
Aggregate - coding exercise 1
1 question
Aggregate - coding exercise 1 - solution
00:28
Aggregate - coding exercise 2
1 question
Aggregate - coding exercise 2 - solution
01:16
Aggregate - refactoring challenge
1 question
Aggregate - refactoring challenge - solution
00:50

Zip

7 lectures
Zip
04:45
Zip - coding exercise 1
1 question
Zip - coding exercise 1 - solution
01:02
Zip - coding exercise 2
1 question
Zip - coding exercise 2 - solution
00:34
Zip - refactoring challenge
1 question
Zip - refactoring challenge - solution
00:26

Introduction to query syntax

1 lectures
Introduction to query syntax
05:13

OrderBy (query syntax)

7 lectures
OrderBy (query syntax)
03:29
OrderBy (query syntax) - coding exercise 1
1 question
OrderBy (query syntax) - coding exercise 1 - solution
00:16
OrderBy (query syntax) - coding exercise 2
1 question
OrderBy (query syntax) - coding exercise 2 - solution
00:22
OrderBy (query syntax) - refactoring challenge
1 question
OrderBy (query syntax) - refactoring challenge - solution
00:28

Where (query syntax)

7 lectures
Where (query syntax)
05:09
Where (query syntax) - coding exercise 1
1 question
Where (query syntax) - coding exercise 1 - solution
00:20
Where (query syntax) - coding exercise 2
1 question
Where (query syntax) - coding exercise 2 - solution
00:30
Where (query syntax) - refactoring challenge
1 question
Where (query syntax) - refactoring challenge - solution
00:23

Select (query syntax)

7 lectures
Select (query syntax)
03:30
Select (query syntax) - coding exercise 1
1 question
Select (query syntax) - coding exercise 1 - solution
00:21
Select (query syntax) - coding exercise 2
1 question
Select (query syntax) - coding exercise 2 - solution
01:21
Select (query syntax) - refactoring challenge
1 question
Select (query syntax) - refactoring challenge - solution
00:32

SelectMany (query syntax)

7 lectures
SelectMany (query syntax)
04:05
SelectMany (query syntax) - coding exercise 1
1 question
SelectMany (query syntax) - coding exercise 1 - solution
00:39
SelectMany (query syntax) - coding exercise 2
1 question
SelectMany (query syntax) - coding exercise 2 - solution
00:31
SelectMany (query syntax) - refactoring challenge
1 question
SelectMany (query syntax) - refactoring challenge - solution
00:37

GroupBy (query syntax)

7 lectures
GroupBy (query syntax)
08:10
GroupBy (query syntax) - coding exercise 1
1 question
GroupBy (query syntax) - coding exercise 1 - solution
00:26
GroupBy (query syntax) - coding exercise 2
1 question
GroupBy (query syntax) - coding exercise 2 - solution
00:54
GroupBy (query syntax) - refactoring challenge
1 question
GroupBy (query syntax) - refactoring challenge - solution
00:50

Join (query syntax)

7 lectures
Join (query syntax)
06:56
Join (query syntax) - coding exercise 1
1 question
Join (query syntax) - coding exercise 1 - solution
00:34
Join (query syntax) - coding exercise 2
1 question
Join (query syntax) - coding exercise 2 - solution
00:59
Join (query syntax) - refactoring challenge
1 question
Join (query syntax) - refactoring challenge - solution
00:46

LINQ updates

2 lectures
Important note about the version of .NET
00:34
LINQ Improvements in .NET 6
09:15

Bonus!

1 lectures
Bonus!
00:25

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.