저장하는 방식에서 명백하게 알 수 있듯이 모든 것에 구조체를 사용할 수는 없다. 구조체에 대한 공통적인 참조를 공유할 수 없으므로 다른 참조에서 공통 인스턴스를 변경할 수 없다. 우리가 무의식적으로 자주 하지만 절대 깊이 생각하지는 않는 것이다. 만약 여러분이 구조체를 변경하길 원하며 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;
        }
    }
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.