is code that is written to for the services of the Common Language Runtime (CLR). In order to target these services, the code must provide a metadata to the runtime. All C#, Visual Basic.NET, and JScript.NET code is managed by default. Visual Studio.NET C++ code is not managed by default, but the compiler can produce managed code by specifying a command-line switch (/CLR).
Managed data—data that is allocated and de-allocated by the Common Language Runtime's garbage collector. C#, Visual Basic, and JScript.NET data is managed by default. C# data can, however, be marked as unmanaged through the use of special keywords. Visual Studio.NET C++ data is unmanaged by default.