Guide pédagogique
Débuter en C# et .NET — Guide FAQ
Guide FAQ pour étudiants découvrant C# et .NET : installation, différences avec Java, premières classes, propriétés auto-implémentées, LINQ et tests unitaires avec xUnit.
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é (
switchexhaustif)
.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.