Question: are lists passed by reference in c#?
Answer: In C# you never pass objects, you pass their references by value. When you access the list object via the passed reference in ChangeList (while sorting, for example) the original list is changed.