Pourquoi ne pouvez-vous pas utiliser un paramètre ref ou out dans une expression lambda?
Je suis tombé sur l'erreur aujourd'hui et j'ai trouvé une solution de contournement, mais j'étais toujours curieux de savoir pourquoi il s'agit d'une erreur de compilation.
CS1628 : Impossible d'utiliser le paramètre "paramètre" dans ref ou out dans une méthode anonyme, une expression lambda ou une expression de requête
Voici un exemple simple:
private void Foo()
{
int value;
Bar(out value);
}
private void Bar(out int value)
{
value = 3;
int[] array = { 1, 2, 3, 4, 5 };
int newValue = array.Where(a => a == value).First();
}