구조 (struct)와 클래스 (클래스) 시대는 언제입니까?
에서 C#의 구조 또는 클래스를 선택할 때 다음 원칙을 고려하십시오.
구조를 사용하는 시점 :
이 유형은 기본 유형 (예 : 정수 및 듀얼 -프리션 플로팅 포인트 번호)과 유사한 단일 값을 나타냅니다.
예제의 크기는 16 바이트 미만입니다.
동일합니다 (창조 후에는 변경할 수 없습니다).
는 자주 박스를받지 않습니다 (참조 유형으로 변환).
클래스를 사용하는 시점 :
이 유형은 다중 또는 복잡한 데이터 구조를 나타냅니다.
크기는 16 바이트보다 큽니다.
창조 후 수정해야합니다.
는 종종 참조 매개 변수로 포장하거나 전달됩니다. -
Microsoft의 위치 -
Microsoft는 구조가 작고 일반적으로 짧은 예제 또는 다른 객체에 포함 된 인스턴스에 사용될 것을 권장합니다. 그러나 그들은 위의 모든 특성을 충족하지 않으면 구조를 정의하지 않는다고 경고합니다. -
예
-
.NET FRAMEWORK의 클래스는 내부 구조를 및
는 단일 값 (키 값 쌍 및 열거 자 상태)을 나타냅니다.
매우 작습니다 (16 바이트 미만).
는 동일합니다 (생성 후에는 데이터를 변경할 수 없습니다).
빈번한 포장을 피하십시오 (주로 내부에서 사용됩니다).
언제 Microsoft가 규칙을 깨뜨릴 것인지 -
이러한 지침 원칙에도 불구하고 Microsoft의 내부 구조는 종종 크기 및 불변 규칙을 위반합니다. 구조의 인스턴스와 속도 비율이 더 빠르기 때문에 이는 속도와 효율에 우선 순위를 부여하는 것입니다. 그러나 이러한 예외는 사고를 피하기 위해 처리해야합니다. -
기타 예방 조치
-
구조가 구현되면 인터페이스로 변환 될 때 기준 유형이됩니다. -
는 우발적 인 복사 또는 수정을 피할 책임이있는 가치 유형을 처리해야합니다.
구조의 성능 장점은 주로 많은 수의 또는 빈번한 생성 및 작은 데이터 항목에 대한 액세스와 관련된 시나리오에 주로 반영됩니다.
위 내용은 C#의 structs vs. 클래스 : 언제 어느 것을 선택해야합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!