Part 1: Introduction to C# and .NET

Image description

What is C# and what is .NET?

When you first hear about C# and .NET, it might seem a bit confusing as they’re often mentioned together. In reality, they’re two distinct things that complement each other perfectly to help you create all sorts of applications.

  • C# is a programming language created by Microsoft back in the early 2000s. They designed it to be simple to learn but powerful. Originally, it was mainly used for Windows applications, but today it’s much more flexible and can be used on various platforms, like Linux, Mac, Android, and iOS.
  • .NET, on the other hand, is what’s called a framework. .NET provides lots of tools, libraries, and features that make development easier, helping your code work smoothly across different environments.

So, you can think of C# as the "language" we use to communicate with the computer, and .NET as a "toolbox" that helps you build just about anything you can imagine.

A Bit of History

Microsoft launched C# in 2002, alongside the first version of the .NET Framework. Their goal was to compete with Java (which was already very popular at the time) and to offer developers an alternative that was just as powerful and easy to learn.

Over time, both C# and .NET have evolved significantly. One of .NET's major milestones was the release of .NET Core in 2016, which made it possible to create cross-platform applications (Linux, macOS, and more) and optimised the code to run faster and more efficiently.

Why Use C# and .NET?

Here are some reasons why learning C# and .NET is a great investment:

  1. Productivity: C# has a clear syntax, making it straightforward to learn. .NET also comes with thousands of libraries to simplify common tasks (like file handling or network management), saving you loads of time.
  2. Cross-Platform: With the latest versions of .NET, you can create applications for Windows, Linux, and macOS without switching languages.
  3. Performance: C# and .NET are optimised to create fast, efficient applications.
  4. Community and Resources: The C# and .NET community is large and well-established, meaning you’ll have access to tons of tutorials, examples, and support when you need it.

What Can You Create with .NET?

With C# and .NET, you can develop practically any type of application:

  • Desktop Applications: You can create graphic applications for Windows, ranging from simple tools to complex business applications.
  • Web Applications: Using ASP.NET (the web framework for .NET), you can develop websites and backend services.
  • Mobile Apps: With Xamarin (a tool within .NET), you can create apps for Android and iOS using the same codebase.
  • Games: If you're interested in game development, the Unity engine uses C# as its scripting language.
  • Cloud Services: C# and .NET are widely used in the cloud, especially with Azure (Microsoft’s cloud platform).

Setting Up Your Environment: Configure the .NET CLI

Before starting, make sure you have the .NET CLI installed. This is a command-line tool that lets you create, compile, and run .NET projects directly from the terminal, which is great for managing projects without relying solely on a graphical interface. Plus, you can automate many tasks this way.

"Hello Codú"

To get started with C#, we’ll make the classic "Hello, Codú!" programme. This small programme helps you see how the code is structured and ensures everything is working correctly.

Step 1: Set Up the Environment

To run this example, you’ll need to install:

  • Visual Studio or Visual Studio Code (to write and manage the code).
  • .NET SDK (version 5 or later).

Step 2: Create the Project

  1. Open a terminal or command prompt.

  2. Type the following command to create a new console project:

    dotnet new console -o HelloCodu
    

    This command creates a folder called HelloCodu containing the files needed for your project.

  3. Navigate to the project folder:

    cd HelloCodu
    

Step 3: Understanding the Project Structure

Inside the HelloCodu folder, you’ll see a few files and folders:

  • Program.cs: This is where you’ll write your code.
  • obj and bin: Automatically generated folders containing build files.

Here’s a quick look at the project structure:

HelloCodu/
│
├── Program.cs       <-- This is where you write your code
├── obj/             <-- Temporary build files
└── bin/             <-- Compiled files ready to run

Step 4: Write the Code

Open Program.cs in your editor and enter this code:

using System;

namespace HelloCodu
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello, Codú!");
        }
    }
}

Step 5: Run the Programme

In the terminal, make sure you’re in the project folder and type:

dotnet run

You should see the message:

Hello, Codú!

What Does Each Part of the Code Do?

  • using System;: This tells C# we’ll be using the System namespace, which includes helpful classes like Console.
  • namespace HelloCodu: Defines a namespace to organise the code.
  • class Program: Declares a class named Program, which contains our code.
  • static void Main(string[] args): This is the entry point of the programme. It’s the first line that runs when the programme starts.
  • Console.WriteLine("Hello, Codú!");: Prints "Hello, Codú!" to the console.

Tips for Getting Started

  1. Comment Your Code: Writing comments helps you understand each step as you go along.
  2. Use Descriptive Names: Give variables and functions clear names so your code is easy to read.
  3. Follow a Good Format: Stick to styling conventions like using PascalCase for class names and camelCase for variables. This keeps your code looking professional and easy to understand.

Quick Summary

Here’s a quick recap of the steps:

  1. Create the project: dotnet new console -o HelloCodu
  2. Write the code in Program.cs
  3. Run the project: dotnet run
DotnetWeb DevelopmentCsharpTips
Avatar for Adrián Bailador

Written by Adrián Bailador

🚀 Full-Stack Dev 👨🏻‍💻 .NET Engineer 👾 Geek & Friki 💡 Talks about #dotnet, #csharp, #azure, #visualstudio and a little bit of #nextjs.

Loading

Fetching comments

Hey! 👋

Got something to say?

or to leave a comment.