Est-ce possible?Nullable List <> comme paramètre out
private void Test(out List<ExampleClass>? ExClass)
{
}
Une liste annulable <> qui est aussi un paramètre out?
Est-ce possible?Nullable List <> comme paramètre out
private void Test(out List<ExampleClass>? ExClass)
{
}
Une liste annulable <> qui est aussi un paramètre out?
List<T>
est un type de référence (classe), donc aucun ?
n'est requis. Attribuez simplement le paramètre null
au paramètre ExClass
dans le corps de la méthode.
Une autre façon est d'avoir 0 (zéro) éléments dans la liste ou la liste vide. – Sharique
Comme Anton a dit, vous n'avez pas besoin d'utiliser Nullable<T>
- mais il pourrait certainement être un paramètre out
:
private void Test(out List<ExampleClass> foo)
Il est possible que vous confondez un List<T>
nullable avec une List<T?>
qui serait valable pour types de valeurs ... par exemple, vous pouvez utiliser:
private void Test(out List<Guid?> foo)
qui serait un paramètre sur lequel une liste de GUIDs nullables. Par contre, il n'est généralement pas intéressant d'avoir des paramètres out
dans les méthodes void
- vous devriez plutôt l'utiliser comme type de retour.
merci Jon. la méthode montrée était un exemple seulement et merci de fournir une explication. – Trent
Utilisez ?
uniquement pour les ValueTypes Nullable.
Etre un paramètre out
ou non est sans importance ici. Mais vous ne pouvez pas faire un Nullable<T>
avec une classe; T
doit être une structure. Sinon, le compilateur va se plaindre. En plus de cela, il est considéré comme un mauvais style de capitaliser le nom d'un paramètre (utilisez exClass
au lieu de). Vos programmes fonctionneront de la même manière, mais quiconque lit votre code pourrait être induit en erreur.
Puisque vous avez déjà écrit le code, pourquoi ne pas l'avoir essayé vous-même? – stakx