Qu'est-ce que .NET et quelle version installer ?

.NET est la plateforme open-source de Microsoft pour C#, F# et VB.NET. Version recommandée : .NET 9.

Debian/Ubuntu : sudo apt install dotnet-sdk-9.0
Windows : téléchargez sur dot.net
Vérification : dotnet --version

Quelle est la différence entre C# et Java ?

C# et Java ont une syntaxe OO proche, mais C# apporte :

  • Propriétés auto-implémentées — public string Nom { get; set; }
  • LINQ — requêtes intégrées sur les collections
  • Délégués, events, async/await natif
  • Types valeur (struct, record struct)
  • Pattern matching avancé (switch exhaustif)

.NET est cross-platform depuis .NET 5+.

Comment créer une classe en C# ?

Les propriétés auto-implémentées remplacent les getters/setters verbeux de Java :

public class Personne {
  public string Nom { get; set; }
  public int Age { get; set; }
  public Personne(string nom, int age) {
    Nom = nom; Age = age;
  }
  public string Presentation()
    => $"Je suis {Nom}, {Age} ans.";
}

Qu'est-ce que LINQ en C# ?

LINQ est une syntaxe de requête sur des collections intégrée au langage :

var adultes = personnes.Where(p => p.Age >= 18).OrderBy(p => p.Nom).ToList();

LINQ fonctionne sur List<T>, IEnumerable<T>, les tableaux et Entity Framework.

Comment écrire des tests unitaires en C# ?

Le framework standard est xUnit :

dotnet new xunit -n MonProjet.Tests

Un test avec [Fact] :

[Fact]
public void Calcul_Correct() {
  Assert.Equal(5, Calculatrice.Additionner(2, 3));
}

Lancez avec dotnet test.

C# est-il compatible Linux et macOS ?

Oui, depuis .NET 5+, C# est 100% cross-platform.

  • Linux/macOS — VS Code + extension C# Dev Kit
  • Windows — Visual Studio 2022 ou VS Code

dotnet run fonctionne identiquement sur les trois OS. Les binaires publiés (dotnet publish) peuvent être self-contained.