donc si je resume, on avait une syntaxe du genre :
Oué mais nan, j'étais parti sur un foreach_while qui supposait qu'on avait 2 blocks d'instructions en paramètres. Tu es revenus à un foreach "classique", d'où mes nouveaux exemples.
ou alors y a de fines nuances sur le comportement...
Y'a juste des évolutions : C# 1 : pointeurs de méthodes, C# 2 : méthodes anonymes (plus besoin de déclarer une méthode séparée que l'on référence), C# 3 : expression lambda.
Alors oui, dans C# 3 tu peux toujours faire comme en C# 2 ou C# 1.
qu'on veut 3 blocs en parametres, etc, on fait comment ?
Bah pareil ! C'est quoi le problème ? Mon premier exemple prenait 2 blocs, chacun était dans mon exemple une lambda expression séparé par une virgule (dur dur). Je te laisse deviner comment ajouter un 3ème paramètre ;)
le i, tu le declares avant ?
Bah nan, c'est une lambda expression, le i est justement ici sa déclaration. Son type est défini par inférence à partir du type de la méthode Foreach.
C'est justement parcque tu ne comprends pas cette écritureque j'avais commencé par la syntaxe C# 2 ;) Mais certains trouvent plus joli, plus concis et plus propre la 3ème.
Enfin tout ca pour dire que je ne vois absolument pas la différence, au final je peux déclarer une méthode qui prends plusieurs paramètres, chaque paramètre peut être un bloc de code, que tu l'écrives sous la forme d'une fonction anonyme ou sous la forme d'une lambda expression.
[^] # Re: sonntag
Posté par TImaniac (site web personnel) . En réponse à la dépêche Lisaac 0.12 en GPL v3. Évalué à 1.
Oué mais nan, j'étais parti sur un foreach_while qui supposait qu'on avait 2 blocks d'instructions en paramètres. Tu es revenus à un foreach "classique", d'où mes nouveaux exemples.
ou alors y a de fines nuances sur le comportement...
Y'a juste des évolutions : C# 1 : pointeurs de méthodes, C# 2 : méthodes anonymes (plus besoin de déclarer une méthode séparée que l'on référence), C# 3 : expression lambda.
Alors oui, dans C# 3 tu peux toujours faire comme en C# 2 ou C# 1.
qu'on veut 3 blocs en parametres, etc, on fait comment ?
Bah pareil ! C'est quoi le problème ? Mon premier exemple prenait 2 blocs, chacun était dans mon exemple une lambda expression séparé par une virgule (dur dur). Je te laisse deviner comment ajouter un 3ème paramètre ;)
le i, tu le declares avant ?
Bah nan, c'est une lambda expression, le i est justement ici sa déclaration. Son type est défini par inférence à partir du type de la méthode Foreach.
C'est justement parcque tu ne comprends pas cette écritureque j'avais commencé par la syntaxe C# 2 ;) Mais certains trouvent plus joli, plus concis et plus propre la 3ème.
Enfin tout ca pour dire que je ne vois absolument pas la différence, au final je peux déclarer une méthode qui prends plusieurs paramètres, chaque paramètre peut être un bloc de code, que tu l'écrives sous la forme d'une fonction anonyme ou sous la forme d'une lambda expression.