Lists help you keep many items in order. You use methods like Add, Remove, Find, and Sort to change or search the list easily.
List methods (Add, Remove, Find, Sort) in C Sharp (C#)
Start learning this pattern below
Jump into concepts and practice - no test required
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.
List<int> numbers = new List<int>(); numbers.Add(10); // List has one item: 10 numbers.Remove(10); // List is empty now
List<string> fruits = new List<string> { "apple" }; fruits.Remove("apple"); // List becomes empty
List<string> colors = new List<string> { "red", "blue", "green" }; string found = colors.Find(color => color == "red"); // found is "red"
List<int> scores = new List<int> { 30, 10, 20 }; scores.Sort(); // List becomes 10, 20, 30
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.
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(); } }
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.
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
Solution
Step 1: Understand the purpose of Add
The Add method appends a new element to the end of a list.Step 2: Compare with other methods
Remove deletes items, Find searches, and Sort arranges items, so they don't add new items.Final Answer:
Add -> Option DQuick Check:
Add method adds items [OK]
- Confusing Remove with Add
- Thinking Find adds items
- Assuming Sort adds items
Solution
Step 1: Identify the correct method name
The method to remove an item by value is Remove, so fruits.Remove("apple") is correct.Step 2: Check method parameters and usage
RemoveAt requires an index, not a string. Delete and RemoveItem are not valid List methods.Final Answer:
fruits.Remove("apple"); -> Option CQuick Check:
Remove("apple") removes first matching item [OK]
- Using RemoveAt with a string argument
- Using non-existent methods like Delete or RemoveItem
- Confusing Remove with Add
var numbers = new List<int> {5, 3, 8, 1};
numbers.Sort();
Console.WriteLine(string.Join(",", numbers));Solution
Step 1: Understand what Sort does
Sort arranges the list items in ascending order.Step 2: Apply Sort to the list
The list {5, 3, 8, 1} sorted ascending becomes {1, 3, 5, 8}.Final Answer:
1,3,5,8 -> Option BQuick Check:
Sort orders numbers ascending [OK]
- Assuming Sort reverses the list
- Confusing Sort with Find
- Expecting original order after Sort
var fruits = new List<string> {"apple", "banana", "cherry"};
fruits.RemoveAt("banana");Solution
Step 1: Check RemoveAt parameter type
RemoveAt requires an integer index, but "banana" is a string.Step 2: Understand method behavior
Using a string causes a compile-time error because the argument type is wrong.Final Answer:
RemoveAt expects an index, not a string -> Option AQuick Check:
RemoveAt needs index integer [OK]
- Passing item value instead of index to RemoveAt
- Thinking RemoveAt removes all matches
- Confusing RemoveAt with Remove
Solution
Step 1: Use Find to get first number > 5
Find returns the first element matching the condition n > 5, which is 7.Step 2: Remove that number from the list
Remove(num) deletes the first occurrence of 7 from the list.Final Answer:
var num = numbers.Find(n => n > 5); numbers.Remove(num); -> Option AQuick Check:
Find returns item, Remove deletes it [OK]
- 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)
