MSDN Developer Network

Understanding .NET Core Fundamentals

Welcome to the core of .NET Core development. This section delves into the essential building blocks and architectural principles that power modern, cross-platform applications with .NET Core.

What is .NET Core?

.NET Core is a free, cross-platform, open-source framework for building many different types of applications. It is a modern rewrite of the .NET Framework, designed for cloud-native and microservices architectures. Explore its key features and benefits.

Learn More about .NET Core

Runtime and CLR

Understand the .NET Common Language Runtime (CLR), the execution engine that manages the code execution. Learn about Just-In-Time (JIT) compilation, garbage collection, and type safety.

Explore the CLR

Base Class Library (BCL)

Discover the rich set of fundamental types, abstract concepts, and low-level functionalities provided by the Base Class Library. This includes collections, I/O operations, networking, and more.

Browse the BCL

Assembly and Modules

Grasp the concepts of assemblies, the unit of deployment, versioning, and activation in .NET Core. Understand how assemblies are composed of modules and metadata.

Deep Dive into Assemblies

Intermediate Language (IL)

Learn about the role of Common Intermediate Language (CIL), formerly MSIL, as the platform-independent, language-agnostic code that compiled .NET code is transformed into before execution.

Understanding IL

Key Components and Concepts

Beyond the core runtime, .NET Core introduces several key concepts crucial for building robust and scalable applications:

Getting Started with Your First .NET Core App

Ready to write some code? This quick guide will walk you through setting up your development environment and creating a simple "Hello, World!" application.

Create Your First .NET Core Application

Code Examples

Illustrative code snippets to demonstrate fundamental concepts:

Example: Basic Class and Method


using System;

public class Greeter
{
    public void SayHello(string name)
    {
        Console.WriteLine($"Hello, {name}!");
    }
}

public class Program
{
    public static void Main(string[] args)
    {
        Greeter greeter = new Greeter();
        greeter.SayHello("Developer");
    }
}
            

Example: Using a Collection


using System;
using System.Collections.Generic;

public class ListExample
{
    public static void Main(string[] args)
    {
        List names = new List<string> { "Alice", "Bob", "Charlie" };

        foreach (var name in names)
        {
            Console.WriteLine($"Welcome, {name}");
        }
    }
}