LINQ in C# explained with examples for beginners

What is LINQ in C#? Explained with Examples

Why LINQ is Important in C#

LINQ Syntax in C#: Query vs Method

1. Query Syntax

int[] numbers = { 1, 2, 3, 4, 5, 6 };

// Using query syntax to get even numbers
var evenNumbers = from num in numbers
                  where num % 2 == 0
                  select num;

foreach (var n in evenNumbers)
{
    Console.WriteLine(n);
}

2. Method Syntax

int[] numbers = { 1, 2, 3, 4, 5, 6 };

// Using method syntax to get even numbers
var evenNumbers = numbers.Where(num => num % 2 == 0);

foreach (var n in evenNumbers)
{
    Console.WriteLine(n);
}

Key Differences

LINQ Examples for Beginners

1. LINQ Select Example – Choosing data from a collection

string[] fruits = { "Apple", "Banana", "Orange" };

// Get the length of each fruit name
var lengths = fruits.Select(f => f.Length);

foreach (var len in lengths)
{
    Console.WriteLine(len);
}

2. LINQ Where Example – Filtering data

int[] numbers = { 1, 2, 3, 4, 5, 6 };

// Get only even numbers
var evenNumbers = numbers.Where(n => n % 2 == 0);

foreach (var n in evenNumbers)
{
    Console.WriteLine(n);
}

3. LINQ GroupBy Example – Grouping data

string[] names = { "Alice", "Bob", "Charlie", "Anna" };

// Group names by the first letter
var groupedNames = names.GroupBy(n => n[0]);

foreach (var group in groupedNames)
{
    Console.WriteLine($"Names starting with {group.Key}:");
    foreach (var name in group)
    {
        Console.WriteLine(name);
    }
}
Names starting with A:
Alice
Anna
Names starting with B:
Bob
Names starting with C:
Charlie

LINQ with Entity Framework Core

using (var context = new SchoolDbContext())
{
    var result = context.Students
                        .Where(x => x.Marks > 40)
                        .ToList();

    foreach (var item in result)
    {
        Console.WriteLine(item.Name);
    }
}

LINQ to SQL Translation

SELECT * FROM Students WHERE Marks > 40;

How it behaves when running

Quick summary

Common LINQ Mistakes and Best Practices

Running the Same Query Again and Again

var numbers = Enumerable.Range(1, 5).Where(n => n % 2 == 0);

foreach (var n in numbers)
    Console.WriteLine(n);

foreach (var n in numbers)
    Console.WriteLine(n);
var numbersList = numbers.ToList(); // runs once

foreach (var n in numbersList)
    Console.WriteLine(n);

foreach (var n in numbersList)
    Console.WriteLine(n);

2. Not Checking for Null

List<string> names = null;

var result = names.Where(n => n.StartsWith("A"));
var result = names?.Where(n => n.StartsWith("A")) ?? new List<string>();

3. Loading More Data Than Needed

var users = context.Users.ToList();
var userNames = context.Users
                       .Select(u => u.Name)
                       .ToList();

4. Mixing Different LINQ Styles

Quick Tips to Remember

Conclusion

Related Articles

Leave a Comment

Your email address will not be published. Required fields are marked *