What is .NET?
.NET is a software development SDK used to build applications in various platforms, including Windows, Linux, Android, iOS, Web, and macOS. Moreover, .NET supports miscellaneous “base” classes that enable developers to quickly build functions tasks such as cryptography, I/O access, and graphics rendering.
What languages are supported in .NET Framework?
.NET supports C#, VB.NET, C++.NET, and F#
What is the difference between .NET, .NET Framework, and .NET Core?
.NET Framework is the first .NET version Microsoft released in 2002 that only supports Windows operating system. The final supported version is version 4. It is discontinued.
.NET Core is the cross-platform .NET version of Microsoft released in 2016. The final version is .NET Core 3.1. It is discontinued.
.NET is the go-forward framework. It replaces .NET Framework and .NET Core. It supports multiple platforms and programming languages. .NET started at version 5 and is currently at version 7
Note: It is essential to know that the term .NET Framework is used loosely in the developers ’ communities. It may mean .NET or .NET Framework.
What is .NET Standard?
.NET Standard is the formal specification of .NET APIs meant to establish uniformity across diverse .NET versions, particularly .NET Framework and .NET Core. The last version of the .NET Standard is 2.1. It was discontinued with the end of .NET Framework and .NET Core.
As of .NET 5 and later, there is no need for .NET Standard.
What are the release types of .NET?
Long-Term Support (LTS): Are supported for three years after the first release
Current: Are supported for 18 months
Preview: Are not supported but offered for public testing
What is the release cadence of .NET?
.NET is released every year. Even numbered versions of .NET are LTS, while odd-numbered versions are Current.
What are common project types you can build with .NET?
Console Applications: Command line projects
ASP.NET: Web application and API projects
Windows Forms and WPF (Windows Presentation Foundation): Desktop-based applications
MAUI (Multi-platform App UI): For building native and cross-platform desktop and mobile apps from a single code base
Class libraries: A code that is reusable on other projects
What IDEs are commonly used with .NET?
The commonly used IDEs with .NET are Visual Studio and Visual Studio Code.
What is the difference between .NET SDK and .NET Runtime?
The .NET SDK is needed by software developers to build .NET applications. On the other hand, .NET runtime is used to run .NET applications in the host machines. The .NET SDK includes the .NET runtime.
What is the garbage collector in .NET?
Garbage Collector, or GC in short, is the component of .NET responsible for managing the allocation and deallocation of application memory. The garbage collector regularly scans the application “heap” and automatically removes any out-of-scope objects.
What is Common language runtime in .NET?
The common language runtime, or CLR in short, is the .NET application runtime that runs the code and provides a wide variety of code features such as cross-language integration, cross-language exception handling, security, and debugging services.
What is Managed Code in .NET?
The managed code is the code whose execution is managed by the CLR. The CLR offers several important services for the managed code, such as memory management, type safety, and security boundaries.
What is the Common Language Specification in .NET?
Common Language Specification, or in short CLS, is a part of .NET CLR that is responsible for governing the specification and ensuring two different .NET languages can communicate smoothly.
For example, C#.NET is case-sensitive, while VB.NET is case-insensitive. If you define a C# class containing the same variable with different cases (e.g., user, User, and uSer), it will be accepted in C#. However, if you try to consume that C# class from a VB.NET project, you’ll get an error since all three variables are the same from the VB.NET perspective, which breaks the CLS.
What is the .NET code compilation/execution process?
Here is a very high-level overview of the code compilation/execution process in .NET:
The code is written in one of the high-level languages in .NET, such as C#, VB.NET, and others
You compile the code to get the Intermediate Language code (IL)
When you execute the code, the CLR runs the IL code
The CLR converts the IL code to machine code that can run on the CPU
Do you want to take your .NET Skills to the next level by learning Azure? Grab my 5 best resources to learn Microsoft Azure below
What is the Just-In-Time compiler in .NET?
The Just-In-Time compiler, or in short (JIT), is a component of the CLR responsible for compiling the intermediate language code to a machine code only when required. Thus, it requires less memory usage. Hence, the name “just” in time.
What is an Ahead-Of-Time compiler in .NET?
The Ahead-Of-Time compiler, or in short (AOT), converts the whole intermediate language code to machine code ahead of time.
What is the Framework Class Library in .NET?
Framework Class Library, or (FCL) in short, is the complete set of .NET libraries that provide a wide range of functionality such as base types, IO/operations, web services, and cryptography, among many other functionalities the .NET offers.
What is the Base Class Library in .NET?
Base Class Library, or in short (BCL) is the part of FCL that provides the most foundational types and utility functionality. It is the base type for all other .NET class libraries. It is meant to be general and not specific for any workload.
What are the memory types in .NET, and what is the difference between them?
There are two memory types in .NET:
Heap: Heap is used for dynamic memory allocation, such as reference types
Stack: While stack is used for static memory allocation, such as value types
What is Language-Integrated Query in .NET?
Language-Integrated Query, or in short LINQ, is a .NET capability that adds querying functionalities to .NET languages such as C# and VB.NET. You can use LINQ to filter a collection of items or database records using your .NET code directly.
Give examples of some basic methods available in the grand-father class System.Object, the parent of all .NET classes?
Here are some examples (C# format)
Equals(): To compare two objects
Finalize(): To perform resource clean up
ToString(): To get the string representation of the object