Maison >développement back-end >C++ >Comment puis-je renvoyer en toute sécurité les valeurs des méthodes génériques en C# ?
Traitement des valeurs de retour des méthodes génériques C#
En C#, lors de la définition d'une méthode générique, si le paramètre de type T est un type valeur (comme int ou structure), renvoyer null provoquera une erreur de compilation, car null ne peut pas être attribué à un type valeur.
Solution
Il existe plusieurs façons de résoudre ce problème :
default(T)
pour renvoyer la valeur par défaut du paramètre de type T. Pour les types référence, null est renvoyé ; pour les entiers, zéro est renvoyé, et ainsi de suite. where T : class
pour restreindre le paramètre de type T à un type référence. De cette façon, null peut être renvoyé sans erreur. where T : struct
et renvoyer null à partir d'une méthode avec un retour genre de T?
. Cela représente une valeur nulle d’un type de valeur non nulle. Exemple :
<code class="language-csharp">static T FindThing<T>(IList collection, int id) where T : IThing, new() { foreach (T thing in collection) { if (thing.Id == id) return thing; } return default(T); // 返回类型T的默认值 }</code>
Choisissez la méthode qui correspond le mieux à vos besoins spécifiques et assurez-vous que la valeur de retour est cohérente avec le type et la nullité attendus de T.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!