📚 Cheatsheet

Une collection organisée de snippets de code pour accélérer votre développement. Parcourez, recherchez et copiez en un clic.

Snippets 9

Retour
Attributs
Intermédiaire
[Obsolete("Cette méthode est obsolète. Utilisez NouvelleMethode à la place.")]
public void AncienneMethode() { ... }
Délégués Action et Func
Intermédiaire
// Action ne retourne pas de valeur
Action<string> afficher = message => Console.WriteLine(message);

// Func retourne une valeur (le dernier type est le type de retour)
Func<int, int, int> addition = (a, b) => a + b;
Événements (event)
Avancé
public class MonBouton
{
    public event EventHandler Click;

    protected virtual void OnClick()
    {
        Click?.Invoke(this, EventArgs.Empty);
    }
}
Expression Lambda simple
Intermédiaire
// Expression lambda qui prend un entier et retourne son carré
Func<int, int> carre = x => x * x;
int resultat = carre(5); // resultat = 25
Pattern Matching (is)
Intermédiaire
object obj = "Hello";
if (obj is string s)
{
    Console.WriteLine($"La chaîne a une longueur de {s.Length}");
}
Pattern Matching (switch)
Avancé
string GetMessage(object item) => item switch
{
    int i when i > 10 => "Grand nombre",
    int i => "Petit nombre",
    string s => $"Chaîne de longueur {s.Length}",
    _ => "Inconnu"
};
Réflexion - Obtenir le type d'un objet
Avancé
using System.Reflection;

Personne p = new Personne();
Type type = p.GetType();
Console.WriteLine($"Nom du type : {type.Name}");
Top-level statements (C# 9+)
Facile
// Fichier Program.cs
using System;

Console.WriteLine("Hello from a top-level statement!");
// Pas besoin de Main, namespace, ou classe.
Tuples
Intermédiaire
(string nom, int age) ObtenirPersonne()
{
    return ("Alice", 30);
}

var personne = ObtenirPersonne();
Console.WriteLine($"{personne.nom} a {personne.age} ans.");