Q:

Will my object update the way I think it will update using this method (C#)? 

This might seem like a CS101 question, but I've managed to thoroughly confuse myself. 
    //this is inside a service class
    ObjectToUpdate objectToUpdate = objectrepository. Get(objectToUpdate. Id);
    SecondObject secondObject = secondObjectRepository. Get(secondObject. Id);
    objectToUpdate. Update(secondObject);
    objectRepository. Save(objectToUpdate);

    //the object itself
    public class ObjectToUpdate {
    public int Id { get; set; }
    public string Name { get; set; }

    public void Update(SecondObject secondObject) {
    Name = secondObject. Name
    }
}

When I get to the "Save" line, it will correctly have updated the objectToUpdate with the name from the secondObject, correct?  It carries a reference to itself when you pass it to the Update method? 

A:

Yes, classes are passed around by reference, so you will be passing a reference to the same object.   This tutorial provides a great reference for understanding this concept: http://www.c-sharpcorner.com/UploadFile/rmcochran/csharp_memory01122006130034PM/csharp_memory.aspx?ArticleID=9adb0e3c-b3f6-40b5-98b5-413b6d348b91&PagePath=/UploadFile/rmcochran/csharp_memory01122006130034PM/csharp_memory.aspx

