2
C#에서 인스턴스 (또는 클래스)의 크기를 구할 수있는 방법이 있습니까?C#의 인스턴스 크기
예를 들어, 모든 객체에는 클래스의 가상 메소드 테이블에 대한 포인터, 구현하는 각 인터페이스에 대한 포인터와 물론 클래스 필드가 있습니다.
this에 따르면 기본 객체 크기는 x86에서 12 바이트이지만 적절한 크기를 지정하는 규칙이 있습니까?
C#에서 인스턴스 (또는 클래스)의 크기를 구할 수있는 방법이 있습니까?C#의 인스턴스 크기
예를 들어, 모든 객체에는 클래스의 가상 메소드 테이블에 대한 포인터, 구현하는 각 인터페이스에 대한 포인터와 물론 클래스 필드가 있습니다.
this에 따르면 기본 객체 크기는 x86에서 12 바이트이지만 적절한 크기를 지정하는 규칙이 있습니까?
당신이하고 싶은 일에 달려 있습니다. 네이티브 코드와 상호 운용성을 위해 유형/객체가 얼마나 큰지 알아내는 데 관심이있는 경우 Marshal.SizeOf()를 사용할 수 있습니다. 그 이외에는 객체의 크기를 측정하는 확실한 방법이 없습니다.
궁금한 점 : 왜? 당신은 이것을 무엇을 위해 사용할 것입니까? –
중복 : http://stackoverflow.com/questions/207592/getting-the-size-of-a-field-in-bytes-with-c#207605 –
이렇게 '시적으로'계산할 방법이 없습니다. GC로 측정 하시겠습니까? –