[c#] Best way to update an element in a generic List