Category: Uncategorized

C# Fundamentals 04 – Method overloading


We continue our learning of the C# language with a new topic: method overloading.

What is method overloading?

Method overloading(or function overloading) means having multiple methods in the same scope, with the same name, but different signatures (different number of arguments, different types).

Based on the parameters used to call the method, the compiler figures out which one to execute at compile time.

Read more →

C# Fundamentals 03 – The ref keyword

Passing value types parameters to methods

We saw in the the previous example how passing a value type to a method actually works: the method receives a copy of the object, so any modifications made inside the method will not persist.

But what happens if we want to modify a value type parameter inside a method?

The ref keyword

The ref keyword allows you to pass a value type parameter by reference, meaning that the method will work with the actual reference to the object used as parameter, so modifications made inside the method will actually persist.

Read more →

C# Fundamentals 02 – Value and Reference Types. Passing parameters to methods


As I said in the previous article about C#,  you will be able to run the same code on Windows, Linux, Mac OS X.

This series of articles focuses on providing a solid understanding of the C# programming language, while other articles focus on completing specific tasks using (not only) C#.


The first main objective when learning a programming language is to understand the way parameters are passed to methods.

This article hopes to provide a better understanding on what happens behind the scenes when you call a method with some parameters and the different C# types.

You can find a GitHub repository with all  projects in this series of articles  here.

Read more →

C# Fundamentals 01 – Hello C#

Why should you learn C#?

With the open source release of .NET Core, you will be able to run C# code on Windows (obviously), Linux, Mac OS X, even on embedded systems  (using Windows 10 IoT Core).

So in the near future it is going to be a very valuable skill to have.

Learning C#

This is the first of a multiple part series on understanding the C# language and Object-Oriented Programming. We will start with the language features of C#, and gradually move towards understanding complex OOP concepts.

You can find a GitHub repository with all projects here.

What is C#

C# (pronounced “C sharp”) is a programming language that is designed for building a variety of applications that run on the .NET Framework. C# is simple, powerful, type-safe, and object-oriented. The many innovations in C# enable rapid application development while retaining the expressiveness and elegance of C-style languages.

More on the MSDN Official Documentation

Read more →