54 votes

Utilisation du paramètre de sortie non affecté, c#

J'ai un problème très simple. J'ai fait une fonction très simple pour vous montrer mon problème.

 static void Main(string[] args)       
{
    double[,] mydouble = new double[1, 4];
    mynewMatrix(out mydouble);
}
public static void mynewMatrix(out double[,] d)
{
    for (int i = 0; i < 4; i++)
        d[0, i] = i;
}

Erreur:

Utilisation du paramètre de sortie non affecté 'newMAt' Le paramètre de sortie 'newMAt' doit être affecté à avant que le contrôle ne quitte la méthode actuelle

Je ne sais pas où est le problème.

4voto

Mark Byers Points 318575

Le message d'erreur est clair - vous devez affecter une valeur à votre paramètre out dans votre méthode :

 public static void mynewMatrix(out double[,] d)
{
    d = new double[1, 4];
    for (int i = 0; i < 4; i++)
    {
        d[0,i]=i;
    }
}

L'affectation que vous avez effectuée en dehors de la méthode n'a aucun effet. Écrivez simplement ceci :

 static void Main(string[] args)       
{
    double[,] mydouble;
    mynewMatrix(out mydouble);
}

1voto

Jan Points 10374

Vous attribuez des valeurs aux éléments de votre paramètre de tableau, mais vous devez attribuer la valeur y au tableau lui-même car il est défini comme out :

 d =  new double[1, 4];

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X