Code that is executed by the
.NET common language runtime (CLR).
VB.NET code is always managed code
but C++ .NET can optionally use unmanaged code. Managed
code provides
metadata allowing the CLR to manage security
(role-based as well as new approaches to code access
security). The CLR also handles errors, manages the program
stack and finds
methods in assembly modules. Managed data
is memory that's subject to
garbage collection. There are
additional restrictions to permit interoperability of
different languages, for example,
Visual Basic arrays must
be zero-based.