2017-07-13 8 views

Répondre

2

La boxe se produit uniquement avec les types de valeur. B est un type de référence, donc non, il n'y a pas de boxe.

Si B était un type de valeur (struct au lieu de class), alors oui, la boxe se produirait.

interface IA { } 
struct B : IA { } 

B b = new B(); 
IA a = b; //boxing, converting a value type into a reference type 
b = (B)a; //unboxing, converting a boxed value type back to the value type itself 

Une façon d'éviter ces opérations de boxe et unboxing lorsqu'ils traitent avec struct et interfaces définit une interface générique, à la IEquatable<T>, IComparable<T>, etc., ce qui vous permet de travail avec l'interface sans réellement la boxe le type de valeur lui-même.

1

No.

Boxing est le processus de conversion d'un type de valeur de l'objet de type ou à tout type d'interface mises en oeuvre par ce type de valeur.

est plus.