Quelle est la différence entre la programmation déclarative et impérative en C# ?
Bonjour à tous ! Je suis un développeur C# débutant, et les termes « impératif » et « déclaratif » me confondent constamment. J'ai lu différents articles, mais je n'ai pas encore bien compris la différence en pratique.
Par exemple, j'écris ce code pour filtrer une liste de nombres :
List<int> numbers = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
List<int> evenNumbers = new List<int>();
for (int i = 0; i < numbers.Count; i++)
{
if (numbers[i] % 2 == 0)
{
evenNumbers.Add(numbers[i]);
}
}
C'est une approche impérative, n'est-ce pas ? Je décris explicitement COMMENT faire : je crée une boucle, je vérifie la condition, j'ajoute à la liste.
Mais ensuite je vois une autre façon :
var evenNumbers = numbers.Where(n => n % 2 == 0).ToList();
C'est déjà déclaratif ? Je dis simplement CE que je veux obtenir (les nombres pairs), et non pas comment le faire exactement.
Mais je n'en suis pas tout à fait sûr. Quelle est la différence clé ? Quand utiliser quelle approche ? Y a-t-il des situations où