LINQ query syntax helps you easily find and work with data inside collections like lists or arrays. It looks like writing simple questions to get the data you want.
When you want to select specific items from a list based on a condition.
When you need to sort data in ascending or descending order.
When you want to group items by a shared property.
When you want to join two collections based on matching keys.
When you want to transform data from one form to another.
Syntax
C Sharp (C#)
var result = from item in collection
where condition
orderby item.Property
select item;
from starts the query and picks each item from the collection.
where filters items by a condition (optional).
Examples
Selects even numbers from the list.
C Sharp (C#)
var evens = from num in numbers
where num % 2 == 0
select num;
Sorts names alphabetically.
C Sharp (C#)
var sortedNames = from name in names
orderby name
select name;
Groups words by their length.
C Sharp (C#)
var grouped = from word in words
group word by word.Length;
Sample Program
This program selects fruits with names 5 letters or shorter, sorts them alphabetically, and prints each one.
C Sharp (C#)
using System;
using System.Linq;
class Program
{
staticvoid Main()
{
string[] fruits = { "apple", "banana", "cherry", "date", "fig", "grape" };
var shortFruits = from fruit in fruits
where fruit.Length <= 5
orderby fruit
select fruit;
foreach (var fruit in shortFruits)
{
Console.WriteLine(fruit);
}
}
}
OutputSuccess
Important Notes
You can skip where if you want all items.
Use orderby to sort results; add descending for reverse order.
LINQ query syntax is easy to read and write, especially for beginners.
Summary
LINQ query syntax lets you ask questions about collections in a clear way.
You can filter, sort, group, and select data easily.
It reads like simple English sentences, making code easier to understand.
Practice
(1/5)
1. What does the LINQ query syntax in C# primarily help you do with collections?
easy
A. Write low-level assembly code
B. Create new classes and objects
C. Manage memory allocation manually
D. Filter, sort, group, and select data in a readable way
Solution
Step 1: Understand LINQ purpose
LINQ query syntax is designed to work with collections to filter, sort, group, and select data.
Step 2: Compare options
Options B, C, and D describe unrelated programming tasks, not LINQ's purpose.
Final Answer:
Filter, sort, group, and select data in a readable way -> Option D
Quick Check:
LINQ = Data querying [OK]
Hint: LINQ reads like English to query collections [OK]
Common Mistakes:
Confusing LINQ with object creation
Thinking LINQ manages memory
Assuming LINQ writes low-level code
2. Which of the following is the correct basic syntax to start a LINQ query in C#?
easy
A. var result = select item from collection;
B. var result = collection from item select;
C. var result = from item in collection select item;
D. var result = item select from collection;
Solution
Step 1: Recall LINQ query syntax structure
The correct LINQ query starts with 'from', then the range variable, then 'in' and the collection, followed by 'select'.
Step 2: Match options to syntax
Only var result = from item in collection select item; follows this correct order: 'from item in collection select item;'. Others have wrong order or keywords.
Final Answer:
var result = from item in collection select item; -> Option C
Quick Check:
from ... in ... select ... [OK]
Hint: LINQ starts with 'from' then 'in' then 'select' [OK]
Common Mistakes:
Swapping 'from' and 'select' keywords
Omitting 'in' keyword
Incorrect order of clauses
3. What will be the output of the following C# code?
int[] numbers = {1, 2, 3, 4, 5};
var evens = from n in numbers
where n % 2 == 0
select n;
foreach(var num in evens) {
Console.Write(num + " ");
}
medium
A. 1 3 5
B. 2 4
C. 1 2 3 4 5
D. No output
Solution
Step 1: Analyze the LINQ query filtering condition
The query selects numbers where n % 2 == 0, meaning even numbers only.
Step 2: Identify even numbers in the array
From {1,2,3,4,5}, even numbers are 2 and 4.
Final Answer:
2 4 -> Option B
Quick Check:
Filter evens = 2 4 [OK]
Hint: Look for 'where' condition filtering evens [OK]
Common Mistakes:
Selecting odd numbers by mistake
Ignoring the 'where' clause
Assuming all numbers are selected
4. Identify the error in the following LINQ query syntax:
var result = from x collection
where x > 10
select x;
medium
A. Missing 'in' keyword between 'x' and 'collection'
B. Incorrect 'where' clause syntax
C. 'select' keyword should come before 'where'
D. Variable 'x' is not declared
Solution
Step 1: Check the 'from' clause syntax
The 'from' clause must have 'from variable in collection'. Here 'in' is missing.
Step 2: Verify other clauses
The 'where' and 'select' clauses are correctly placed and syntactically valid.
Final Answer:
Missing 'in' keyword between 'x' and 'collection' -> Option A
Quick Check:
'from x in collection' needed [OK]
Hint: Check 'from' clause for 'in' keyword [OK]
Common Mistakes:
Omitting 'in' keyword in 'from' clause
Misordering 'where' and 'select'
Assuming variable declaration needed
5. Given a list of strings words, which LINQ query syntax correctly selects words starting with 'a' and orders them alphabetically?
hard
A. var query = from w in words where w.StartsWith("a") orderby w select w;
B. var query = from w in words orderby w where w.StartsWith("a") select w;
C. var query = from w in words select w where w.StartsWith("a") orderby w;
D. var query = from w in words select w orderby w where w.StartsWith("a");
Solution
Step 1: Understand LINQ clause order
The correct order is 'from', then 'where', then 'orderby', then 'select'. var query = from w in words where w.StartsWith("a") orderby w select w; follows this order.
Step 2: Verify filtering and ordering
var query = from w in words where w.StartsWith("a") orderby w select w; filters words starting with 'a' and orders them alphabetically before selecting.
Final Answer:
var query = from w in words where w.StartsWith("a") orderby w select w; -> Option A