Comme oa Dim Obj = New Obj («Bonjour», «World!") Console.WriteLine (CType (oa.V1, String) + CType (oa.V2, String))
"Ajouter deux chaînes en utilisant la classe
Gen
ga Dim As New Gen (Of String, String) («Bonjour», «World!") Console.WriteLine (ga.V1 + ga.V2)
'Ajouter un double et un entier l'aide de l'ob Dim classe Obj Comme obj = New Obj (10.125, 2005) Console.WriteLine (CType (ob.V1, double) + CType (ob.V2, Integer))
'Ajouter un double et une Entier utilisant le gb Dim classe Gen As New Gen (De Double, Integer) (10.
125, 2005) Console.WriteLine (gb.V1 + gb.V2)
//C #
//Ajouter deux chaînes en utilisant la classe Obj Obj o = new Obj («Bonjour», «World!"); Console.WriteLine ((string) oa.t + (string) oa.u);
//Ajouter deux chaînes en utilisant la classe Gen
Gen ga = new Gen ("Bonjour," , "Monde!"); Console.WriteLine (ga.t + ga.u);
//Ajouter un double et un int en utilisant la classe Obj Obj ob = new Obj (10.125, 2005); Console.WriteLine ((double) ob.t + (int) ob.
u);
//Ajouter un double et un int en utilisant la classe Gen
Gen gb = new Gen (10,125 , 2005); Console.WriteLine (gb.t + gb.u);
Si vous exécutez ce code dans une application console, les classes OBJ et Gen produisent exactement les mêmes résultats. Toutefois, le code qui utilise la classe Gen fonctionne réellement plus rapide car il ne nécessite pas la boxe et unboxing vers et à partir de la classe de l'objet. (Boxing et unboxing sont discutés dans la section «Quels sont Boxing et unboxing?» Plus loin dans ce chapitre.
) En outre, les développeurs auraient un temps beaucoup plus facile en utilisant la classe Gen. Tout d'abord, les développeurs ne pas avoir à lancer manuellement à partir de la classe d'objet pour les types appropriées. Deuxièmement, les erreurs de type seraient pris au moment de la compilation plutôt que lors de l'exécution. Pour démontrer cet avantage, considérez le code suivant, qui contient une erreur (en gras):
'VB
' Ajouter un double et un entier en utilisant la Go Dim classe Gen As New Gen (De Double, Integer) (10.125, 2005) Console.WriteLine (gb.V1 + gb.
V2)
'Ajouter un double et un entier en utilisant l'ob Dim classe Obj Comme obj = New Obj (10.125, 2005) Console.WriteLine (CType (ob.V1, Integer) + CType (ob.V2, Integer))
//C #
//Ajouter un double et un int en utilisant la Gen classe
Gen gc = new Gen (10.1