MultiRating is a struct Doesn't Work: songs[sr.Song].Rating = sr.Rating; Works: MultiRating n = songs[sr.Song]; n.Rating = sr.Rating; songs[sr.Song] = n;