Key .NET Terms

Common Language Runtime (CLR)

The CLR is the execution engine of .NET. It manages code execution, handles memory, provides security, and manages threads. It's responsible for compiling code from an intermediate language (IL) to native machine code.

Intermediate Language (IL)

Also known as Microsoft Intermediate Language (MSIL) or Common Intermediate Language (CIL), IL is a low-level, processor-independent language that is the output of the .NET compilers. Code is first compiled into IL and then Just-In-Time (JIT) compiled by the CLR into native machine code.

Just-In-Time (JIT) Compilation

A process by which IL code is compiled into native machine code at runtime, just before it needs to be executed. This allows for platform-specific optimizations.

Base Class Library (BCL)

A comprehensive set of reusable classes, interfaces, and value types that provide access to system functionality. It forms the foundation of .NET applications and is organized into namespaces.

Namespace

A container for classes, interfaces, enumerations, and delegates. Namespaces prevent naming conflicts and help organize code into logical groups. For example, `System.Collections.Generic` contains generic collection types.

Assembly

A unit of deployment, versioning, and security in .NET. An assembly is a compiled code library that can contain types, resources, and metadata. Assemblies are typically distributed as DLL or EXE files.

Garbage Collector (GC)

A component of the CLR responsible for automatic memory management. The GC reclaims memory that is no longer being used by an application, preventing memory leaks.

Managed Code

Code that is executed under the control of the CLR. This code benefits from services like automatic memory management, type safety, and exception handling provided by the runtime.

Unmanaged Code

Code that is not managed by the CLR and runs directly on the operating system. This typically includes code written in languages like C or C++ that don't leverage .NET's runtime services.

Entity Framework Core (EF Core)

A modern object-relational mapper (ORM) for .NET. EF Core enables developers to work with databases using .NET objects, abstracting away much of the SQL code.