C#은 단독으로 사용할 수 없으며 .NET Framework와 함께 사용해야 합니다.
(1) C#의 아키텍처와 방법론은 .NET 기본 방법론을 반영합니다.
(2) 대부분의 경우 C#의 특정 언어 기능은 .NET 기능에 의존하거나 .NET 기본 클래스에 의존합니다.
.NET에서 지원되는 일부 기능은 C#에서는 지원되지 않습니다. .NET에서는 지원되지 않지만 C# 언어에서는 지원되는 다른 기능이 있습니다.
핵심 .NET Framework의 런타임 환경은 CLR(공용 언어 런타임) 또는 .NET 런타임이라고 합니다.
CLR의 제어 하에 실행되는 코드를 일반적으로 관리 코드라고 합니다.
.NET에서 코드를 컴파일하는 방법:
1단계: 소스 코드를 Microsoft 중간 언어(IL)로 컴파일합니다.
*IL은 JAVA의 바이트코드와 유사합니다.
2단계: CLR은 IL을 플랫폼별 코드로 컴파일합니다.
JIT(Just-In-Time 컴파일러)는 애플리케이션이 실행될 때 컴파일하므로 JIL은 이를 알고 있습니다. 정확히 어떤 유형의 프로세서에서 프로그램이 실행되는지에 따라 해당 프로세서에 맞게 최적화하여 성능을 향상시킬 수 있습니다.
Visual Basic 2013, Visual C++ 2013, Visual F#, COM 및 COM+, Windows 런타임.
중급언어의 주요 특징:
IL은 일반적으로 모호한 데이터 유형 에 대한 작업을 허용하지 않지만, 유형 안전성을 강제하면 대부분의 경우 성능이 저하되는 것처럼 보입니다. 아래에서는 유형 안전성에 의존하는 .NET에서 제공하는 서비스로부터 더 많은 이점을 얻습니다. 이러한 서비스에는 다음이 포함됩니다. >
및 인터페이스 사용
클래스가 인스턴스에서 파생되거나 인스턴스를 포함하는 경우 다른 클래스의 경우 다른 클래스에서 사용하는 모든 데이터 유형을 알아야 하기 때문에 언어 상호 운용성이 매우 중요합니다.
.NET의 솔루션
CTS는 중간 언어에서 사용할 수 있는 사전 정의된 데이터를 정의합니다. , .NET Framework를 대상으로 하는 모든 언어는 궁극적으로 이러한 유형을 기반으로 하는 컴파일된 코드를 생성할 수 있습니다.
CTS를 사용하면 자신만의 코드 유형을 정의할 수도 있습니다.
CTS의 계층 구조는 중간 언어의 단일성을 반영합니다. 은 의 객체 지향 접근 방식을 계승합니다.
CLS가 아닌 코드를 작성하는 것은 허용되지만 그렇게 한다고 해서 IL이 컴파일된다는 보장은 없습니다. 코드는 언어 상호 운용성을 완벽하게 지원합니다.
가비지 수집
보안
애플리케이션 도메인
가비지 수집기는 .NET에서 메모리 관리에 사용되며, 특히 애플리케이션 도메인에 필요한 메모리를 복원할 수 있습니다. 응용 프로그램을 실행 중입니다.
관리되는 힙에서 참조되지 않는 객체를 확인하고 삭제하세요.
예외를 사용하여 오류 처리
속성 사용
위 내용은 C# 고급 프로그래밍(1)-.NET 아키텍처의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!