Pass List al método sin modificar la lista original

Es esta la única forma de pasar una Lista a un método y editar esa Lista, sin modificar la Lista original?

class CopyTest1
{
    List<int> _myList = new List<int>();
    public CopyTest1(List<int> l)
    {
        foreach (int num in l)
        {
            _myList.Add(num);
        }
        _myList.RemoveAt(0); // no effect on original List
    }
}

Respuestas a la pregunta(6)

Su respuesta a la pregunta