C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#でのボクシングとアンボクシングの違い


ボックス化すると値型がオブジェクト型に変換され、ボックス化解除するとオブジェクト型が値型に変換されます。

C#でのボクシングとアンボクシングの違いを見てみましょう。

ストレージ

ボックス化では、スタックに格納された値がヒープメモリに格納されたオブジェクトにコピーされますが、ボックス化解除はその逆です。

Unboxingでは、ヒープメモリに格納されているオブジェクトの値が、スタックに格納されている値の型にコピーされます。

変換

開箱には明示的な変換がありますが、ボクシングには暗黙的な変換があります。

int a = 10;
object obj = a;  // boxing
int b = (int) ob; // unboxing

  1. C#でのボクシングとアンボクシング

    ボクシング ボクシングとは、値型から参照型への暗黙の変換です。 開梱 Unboxingは、ボクシングによって作成された参照型を値型に明示的に変換することです。 例 サンプルコードスニペットを見てみましょう- // int int myVal = 12; // Boxing object myBoxed = myVal; // Unboxing int myUnBoxed = (int) myBoxed; C#の配列リストを示す別の例を見てみましょう- int a = 5; ArrayList arr = new ArrayList(); // Boxing arr.Add(a); //

  2. GoとJavaの違い。

    行く Goは手続き型プログラミング言語です。プログラムはパッケージを使用して組み立てられます。動的言語に似たパターンを採用する環境をサポートします。 Java Javaはオブジェクト指向プログラミング言語です。 Javaは静かで高速、信頼性が高く、安全です。最も広く使用されている言語でもあります。 GoとJavaの重要な違いは次のとおりです。 Sr。いいえ。 キー 移動 Java 1 タイプ Goは手続き型プログラミング言語であり、動的言語と同様のパターンをサポートしています。 Javaはオブジェクト指向プログラミング言語です。 2 クラスのサポート