Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Utilisation du paramètre out non assigné 'parameter'
Le compilateur n’a pas pu vérifier qu’une valeur a été assignée au paramètre out avant d’être utilisée ; sa valeur risque de ne pas être définie au moment de son assignation. Veillez à assigner une valeur aux paramètres out
dans la méthode appelée avant d’accéder à cette valeur. Si vous devez utiliser la valeur de la variable passée, utilisez plutôt un paramètre ref
. Pour plus d’informations, consultez Paramètres de méthode.
Exemple 1
L’exemple suivant génère l’erreur CS0269 :
// CS0269.cs
class C
{
public static void F(out int i)
// One way to resolve the error is to use a ref parameter instead
// of an out parameter.
//public static void F(ref int i)
{
// The following line causes a compiler error because no value
// has been assigned to i.
int k = i; // CS0269
i = 1;
// The error does not occur if the order of the two previous
// lines is reversed.
}
public static void Main()
{
int myInt = 1;
F(out myInt);
// If the declaration of method F is changed to require a ref
// parameter, ref must be specified in the call as well.
//F(ref myInt);
}
}
Exemple 2
Cette erreur peut également se produire si l’initialisation d’une variable a lieu dans un bloc try, dont le compilateur ne peut pas vérifier l’exécution :
// CS0269b.cs
class C
{
public static void F(out int i)
{
try
{
// Assignment occurs, but compiler can't verify it
i = 1;
}
catch
{
}
int k = i; // CS0269
i = 1;
}
public static void Main()
{
int myInt;
F(out myInt);
}
}