Passing objects by reference or not in C#
        Posted  
        
            by Piku
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Piku
        
        
        
        Published on 2010-05-14T22:59:50Z
        Indexed on 
            2010/05/14
            23:04 UTC
        
        
        Read the original article
        Hit count: 313
        
Suppose I have a class like this:
public class ThingManager {
    List<SomeClass> ItemList;
    public void AddToList (SomeClass Item)
    {
        ItemList.Add(Item);
    }
    public void ProcessListItems()
    {
        // go through list one item at a time, get item from list,
        // modify item according to class' purpose
    }
}
Assume "SomeClass" is a fairly large class containing methods and members that are quite complex (List<>s and arrays, for example) and that there may be a large quantity of them, so not copying vast amounts of data around the program is important.
Should the "AddToList" method have "ref" in it or not? And why?
It's like trying to learn pointers in C all over again ;-) (which is probably why I am getting confused, I'm trying to relate these to pointers. In C it'd be "SomeClass *Item" and a list of "SomeClass *" variables)
© Stack Overflow or respective owner