저장하는 방식에서 명백하게 알 수 있듯이 모든 것에 구조체를 사용할 수는 없다. 구조체에 대한 공통적인 참조를 공유할 수 없으므로 다른 참조에서 공통 인스턴스를 변경할 수 없다. 우리가 무의식적으로 자주 하지만 절대 깊이 생각하지는 않는 것이다. 만약 여러분이 구조체를 변경하길 원하며 get; private set; 대신 get; set; 수정자를 사용한다고 생각해 보자. 우리는 즉시 struct를 수정할 수 있다. 다음 코드를 살펴보자.
코드 3-9 가변 구조체
public struct Person {
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string City { get; set; }
public Person(int id, string firstName, string lastName, string city) {
Id = id;
FirstName = firstName;
LastName = lastName;
City = city;
}
}