>백엔드 개발 >C++ >C#의 structs vs. 클래스 : 언제 어느 것을 선택해야합니까?

C#의 structs vs. 클래스 : 언제 어느 것을 선택해야합니까?

DDD
DDD원래의
2025-02-01 04:21:07796검색

구조 (struct)와 클래스 (클래스) 시대는 언제입니까? 에서 C#의 구조 또는 클래스를 선택할 때 다음 원칙을 고려하십시오. 구조를 사용하는 시점 : Structs vs. Classes in C#: When Should You Choose Which?

이 유형은 기본 유형 (예 : 정수 및 듀얼 -프리션 플로팅 포인트 번호)과 유사한 단일 값을 나타냅니다. 예제의 크기는 16 바이트 미만입니다. 동일합니다 (창조 후에는 변경할 수 없습니다).

는 자주 박스를받지 않습니다 (참조 유형으로 변환).

클래스를 사용하는 시점 :

이 유형은 다중 또는 복잡한 데이터 구조를 나타냅니다. 크기는 16 바이트보다 큽니다.

창조 후 수정해야합니다.
    는 종종 참조 매개 변수로 포장하거나 전달됩니다.
  • Microsoft의 위치
  • Microsoft는 구조가 작고 일반적으로 짧은 예제 또는 다른 객체에 포함 된 인스턴스에 사용될 것을 권장합니다. 그러나 그들은 위의 모든 특성을 충족하지 않으면 구조를 정의하지 않는다고 경고합니다.
  • .NET FRAMEWORK의 클래스는 내부 구조를 및 는 단일 값 (키 값 쌍 및 열거 자 상태)을 나타냅니다.

    매우 작습니다 (16 바이트 미만). 는 동일합니다 (생성 후에는 데이터를 변경할 수 없습니다). 빈번한 포장을 피하십시오 (주로 내부에서 사용됩니다).

      언제 Microsoft가 규칙을 깨뜨릴 것인지
    • 이러한 지침 원칙에도 불구하고 Microsoft의 내부 구조는 종종 크기 및 불변 규칙을 위반합니다. 구조의 인스턴스와 속도 비율이 더 빠르기 때문에 이는 속도와 효율에 우선 순위를 부여하는 것입니다. 그러나 이러한 예외는 사고를 피하기 위해 처리해야합니다.
    • 기타 예방 조치
    • 구조가 구현되면 인터페이스로 변환 될 때 기준 유형이됩니다.
    • 는 우발적 인 복사 또는 수정을 피할 책임이있는 가치 유형을 처리해야합니다.
    구조의 성능 장점은 주로 많은 수의 또는 빈번한 생성 및 작은 데이터 항목에 대한 액세스와 관련된 시나리오에 주로 반영됩니다.

위 내용은 C#의 structs vs. 클래스 : 언제 어느 것을 선택해야합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.