how i made the 2 others, update() and delete()?
Well delete is easy but you can't use foreach since you are modifying the list during the process.
So for both processes (update and delete) make a search function as you suggested which returns the index of a matching criterion for example (employeeList.lastName == "Smith"), return i if this is true. Do this search using a regular for loop with i<employeeList.Count as your loop condition.
Then use employeeList.RemoveAt(i) to get rid of that one. I'll leave the Update() method to you, but suffice to say use that search function and return the index, then make the changes accordingly.