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

List methods (Add, Remove, Find, Sort) in C Sharp (C#)

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
Introduction

Lists help you keep many items in order. You use methods like Add, Remove, Find, and Sort to change or search the list easily.

You want to keep a list of your friends' names and add new friends.
You want to remove a name from a list when someone moves away.
You want to find if a certain name is in your list.
You want to sort a list of numbers or names to find things faster.
Syntax
C Sharp (C#)
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        List<string> items = new List<string>();

        // Add an item
        items.Add("apple");

        // Remove an item
        items.Remove("apple");

        // Find an item
        string foundItem = items.Find(item => item == "apple");

        // Sort the list
        items.Sort();
    }
}

Add adds one item to the end of the list.

Remove deletes the first matching item from the list.

Examples
Adding and removing from an empty list works fine.
C Sharp (C#)
List<int> numbers = new List<int>();
numbers.Add(10); // List has one item: 10
numbers.Remove(10); // List is empty now
Removing the only item leaves the list empty.
C Sharp (C#)
List<string> fruits = new List<string> { "apple" };
fruits.Remove("apple"); // List becomes empty
Find returns the first item that matches the condition.
C Sharp (C#)
List<string> colors = new List<string> { "red", "blue", "green" };
string found = colors.Find(color => color == "red"); // found is "red"
Sort arranges the list items in ascending order.
C Sharp (C#)
List<int> scores = new List<int> { 30, 10, 20 };
scores.Sort(); // List becomes 10, 20, 30
Sample Program

This program shows how to add, remove, find, and sort items in a list. It prints the list before and after each operation so you can see the changes clearly.

C Sharp (C#)
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        List<string> shoppingList = new List<string>();

        Console.WriteLine("Initial list:");
        PrintList(shoppingList);

        // Add items
        shoppingList.Add("Milk");
        shoppingList.Add("Bread");
        shoppingList.Add("Eggs");

        Console.WriteLine("After adding items:");
        PrintList(shoppingList);

        // Remove an item
        shoppingList.Remove("Bread");

        Console.WriteLine("After removing 'Bread':");
        PrintList(shoppingList);

        // Find an item
        string foundItem = shoppingList.Find(item => item == "Eggs");
        Console.WriteLine($"Found item: {foundItem}");

        // Sort the list
        shoppingList.Sort();

        Console.WriteLine("After sorting:");
        PrintList(shoppingList);
    }

    static void PrintList(List<string> list)
    {
        if (list.Count == 0)
        {
            Console.WriteLine("(empty list)");
        }
        else
        {
            foreach (string item in list)
            {
                Console.WriteLine(item);
            }
        }
        Console.WriteLine();
    }
}
OutputSuccess
Important Notes

Time complexity: Add is usually fast (amortized O(1)), Remove and Find take O(n) time because they may check many items, Sort takes O(n log n).

Space complexity: List uses extra space to store items, grows as you add more.

Common mistake: Trying to remove an item not in the list does nothing and does not cause error.

Use Add to add items, Remove to delete specific items, Find to search, and Sort to order the list.

Summary

Use Add to put new items at the end of the list.

Use Remove to delete the first matching item.

Use Find to get the first item that matches a condition.

Use Sort to arrange items in order.

Practice

(1/5)
1. Which List method in C# is used to add a new item to the end of the list?
easy
A. Sort
B. Remove
C. Find
D. Add

Solution

  1. Step 1: Understand the purpose of Add

    The Add method appends a new element to the end of a list.
  2. Step 2: Compare with other methods

    Remove deletes items, Find searches, and Sort arranges items, so they don't add new items.
  3. Final Answer:

    Add -> Option D
  4. Quick Check:

    Add method adds items [OK]
Hint: Add puts new items at the list's end [OK]
Common Mistakes:
  • Confusing Remove with Add
  • Thinking Find adds items
  • Assuming Sort adds items
2. Which of the following is the correct syntax to remove the first occurrence of "apple" from a List<string> named fruits?
easy
A. fruits.RemoveAt("apple");
B. fruits.Delete("apple");
C. fruits.Remove("apple");
D. fruits.RemoveItem("apple");

Solution

  1. Step 1: Identify the correct method name

    The method to remove an item by value is Remove, so fruits.Remove("apple") is correct.
  2. Step 2: Check method parameters and usage

    RemoveAt requires an index, not a string. Delete and RemoveItem are not valid List methods.
  3. Final Answer:

    fruits.Remove("apple"); -> Option C
  4. Quick Check:

    Remove("apple") removes first matching item [OK]
Hint: Use Remove with the item value to delete it [OK]
Common Mistakes:
  • Using RemoveAt with a string argument
  • Using non-existent methods like Delete or RemoveItem
  • Confusing Remove with Add
3. What will be the output of the following C# code?
var numbers = new List<int> {5, 3, 8, 1};
numbers.Sort();
Console.WriteLine(string.Join(",", numbers));
medium
A. 5,3,8,1
B. 1,3,5,8
C. 8,5,3,1
D. 3,5,1,8

Solution

  1. Step 1: Understand what Sort does

    Sort arranges the list items in ascending order.
  2. Step 2: Apply Sort to the list

    The list {5, 3, 8, 1} sorted ascending becomes {1, 3, 5, 8}.
  3. Final Answer:

    1,3,5,8 -> Option B
  4. Quick Check:

    Sort orders numbers ascending [OK]
Hint: Sort arranges numbers from smallest to largest [OK]
Common Mistakes:
  • Assuming Sort reverses the list
  • Confusing Sort with Find
  • Expecting original order after Sort
4. Identify the error in this code snippet:
var fruits = new List<string> {"apple", "banana", "cherry"};
fruits.RemoveAt("banana");
medium
A. RemoveAt expects an index, not a string
B. RemoveAt cannot be used on List<string>
C. RemoveAt removes all matching items
D. RemoveAt adds an item instead of removing

Solution

  1. Step 1: Check RemoveAt parameter type

    RemoveAt requires an integer index, but "banana" is a string.
  2. Step 2: Understand method behavior

    Using a string causes a compile-time error because the argument type is wrong.
  3. Final Answer:

    RemoveAt expects an index, not a string -> Option A
  4. Quick Check:

    RemoveAt needs index integer [OK]
Hint: RemoveAt uses index number, not item value [OK]
Common Mistakes:
  • Passing item value instead of index to RemoveAt
  • Thinking RemoveAt removes all matches
  • Confusing RemoveAt with Remove
5. Given a List<int> numbers = new List<int> {4, 7, 2, 9, 3}; which code snippet correctly finds the first number greater than 5 and removes it from the list?
hard
A. var num = numbers.Find(n => n > 5); numbers.Remove(num);
B. numbers.RemoveAt(numbers.Find(n => n > 5));
C. numbers.Remove(numbers.FindIndex(n => n > 5));
D. numbers.Remove(numbers.Find(n => n < 5));

Solution

  1. Step 1: Use Find to get first number > 5

    Find returns the first element matching the condition n > 5, which is 7.
  2. Step 2: Remove that number from the list

    Remove(num) deletes the first occurrence of 7 from the list.
  3. Final Answer:

    var num = numbers.Find(n => n > 5); numbers.Remove(num); -> Option A
  4. Quick Check:

    Find returns item, Remove deletes it [OK]
Hint: Find returns item; Remove deletes that item [OK]
Common Mistakes:
  • Passing Find result directly to RemoveAt (wrong type)
  • Using FindIndex result with Remove (expects item, not index)
  • Searching for wrong condition (n < 5 instead of n > 5)