Bird
Raised Fist0
C Sharp (C#)programming~10 mins

LINQ query syntax in C Sharp (C#) - Interactive Code Practice

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to select all numbers from the list.

C Sharp (C#)
var numbers = new List<int> {1, 2, 3, 4, 5};
var query = from num in numbers select [1];
Drag options to blanks, or click blank then click option'
Anum
Bnumbers
Cnumber
Dn
Attempts:
3 left
💡 Hint
Common Mistakes
Using the collection name instead of the iteration variable.
Using a variable name not defined in the query.
2fill in blank
medium

Complete the code to filter numbers greater than 3.

C Sharp (C#)
var numbers = new List<int> {1, 2, 3, 4, 5};
var query = from num in numbers where num [1] 3 select num;
Drag options to blanks, or click blank then click option'
A<=
B==
C<
D>
Attempts:
3 left
💡 Hint
Common Mistakes
Using '<' instead of '>'.
Using '==' which only selects numbers equal to 3.
3fill in blank
hard

Fix the error in the LINQ query to order numbers ascending.

C Sharp (C#)
var numbers = new List<int> {5, 3, 1, 4, 2};
var query = from num in numbers orderby num [1] select num;
Drag options to blanks, or click blank then click option'
Adescending
Basc
Cascending
Dascend
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'descending', which orders from highest to lowest.
Using invalid shorthands like 'asc' or 'ascend'.
4fill in blank
hard

Fill both blanks to select names starting with 'A' and order them descending.

C Sharp (C#)
var names = new List<string> {"Alice", "Bob", "Anna", "Mike"};
var query = from name in names where name.StartsWith([1]) orderby name [2] select name;
Drag options to blanks, or click blank then click option'
A"A"
B"a"
Cascending
Ddescending
Attempts:
3 left
💡 Hint
Common Mistakes
Using lowercase 'a' which misses uppercase names.
Using 'ascending' instead of 'descending' for order.
5fill in blank
hard

Fill all three blanks to select even numbers, order ascending, and select their squares.

C Sharp (C#)
var numbers = new List<int> {1, 2, 3, 4, 5};
var query = from num in numbers where num [1] 2 == 0 orderby num [2] select num * [3];
Drag options to blanks, or click blank then click option'
A%
Bascending
Cnum
D-
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong operator like '+' or '-' for even check.
Using 'descending' instead of 'ascending'.
Using incorrect value like '2' instead of 'num' for squaring.

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

  1. Step 1: Understand LINQ purpose

    LINQ query syntax is designed to work with collections to filter, sort, group, and select data.
  2. Step 2: Compare options

    Options B, C, and D describe unrelated programming tasks, not LINQ's purpose.
  3. Final Answer:

    Filter, sort, group, and select data in a readable way -> Option D
  4. 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

  1. 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'.
  2. 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.
  3. Final Answer:

    var result = from item in collection select item; -> Option C
  4. 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

  1. Step 1: Analyze the LINQ query filtering condition

    The query selects numbers where n % 2 == 0, meaning even numbers only.
  2. Step 2: Identify even numbers in the array

    From {1,2,3,4,5}, even numbers are 2 and 4.
  3. Final Answer:

    2 4 -> Option B
  4. 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

  1. Step 1: Check the 'from' clause syntax

    The 'from' clause must have 'from variable in collection'. Here 'in' is missing.
  2. Step 2: Verify other clauses

    The 'where' and 'select' clauses are correctly placed and syntactically valid.
  3. Final Answer:

    Missing 'in' keyword between 'x' and 'collection' -> Option A
  4. 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

  1. 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.
  2. 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.
  3. Final Answer:

    var query = from w in words where w.StartsWith("a") orderby w select w; -> Option A
  4. Quick Check:

    where before orderby in LINQ [OK]
Hint: Remember clause order: from, where, orderby, select [OK]
Common Mistakes:
  • Placing 'orderby' before 'where'
  • Misplacing 'select' clause
  • Using wrong method syntax inside query