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

C#プログラミングにおけるボクシングとアンボクシングの違い。


C#は、値型を参照型にリンクする方法と、その逆の2つの方法を提供します。リンクのこれら2つの方法は、ボックス化とアンボックス化と呼ばれ、ボックス化は値型からオブジェクト型への変換に使用され、アンボックス化はオブジェクト型から値型への変換を指します。

ボクシングとアンボクシングの重要な違いは次のとおりです。

ボクシング 開梱
Sr。いいえ。 キー
1 実装 ボクシングにより、値型と呼ばれるオブジェクト型が作成されました。 Unboxingは、基本的に、ボックス化されたオブジェクトから取得する値を処理します。
2 ストレージ ボクシングの場合、スタックに格納されている値は、ヒープメモリに格納されているオブジェクトにコピーされます。 一方、ボックスを解除する場合、ヒープメモリに格納されているオブジェクトの値は、スタックに格納されている値の型にコピーされます。
3 コンバージョンの種類 ボクシングは一般に暗黙の変換として知られています。 開梱とは明示的な変換を指します。

ボクシングとアンボクシングの例

JavaTester.java

public class JavaTester {
   public static void main(String[] args){
      int val = 119;
      // Boxing
      Object o = val;
      // Change the value of val
      val = 120;
      //unboxing
      int x = (int)o;
      System.out.println("Value of x is {0}"+ x);
      System.out.println("Value type of val is {0}"+val);
      System.out.println("Object type of val is {0}"+o);
   }
}

出力

Value of x is {0}119
Value type of val is {0}120
Object type of val is {0}119

  1. MEAN.jsとMEAN.ioの違いは?

    MEANは、MongoDB、Express、Angular、およびNode.jsの頭字語です。 MEAN.jsとMEAN.ioは基本的に同じものであり、どちらもスキャフォールドアプリケーションであるか、上記の4つを使用するための基本的なセットアップです。これらのライブラリ/ツールには、すでにこれらが設定されています。 これらにより、基本的なインフラストラクチャの設定に時間を費やすのではなく、アプリケーションの構築に集中できます。

  2. CellpaddingとCellspacingの違い

    この投稿では、セルパディングとセル間隔の違いを理解します。 セルパディング 単一のセルに関連付けられています。 セルの境界とセル内のコンテンツの間に存在する空白を制御するのに役立ちます。 セルパディングのデフォルト値は1です。 効果的な方法として使用されます。 HTMLのタグを使用して作成されます。 属性のタイプは「cellpadding」に設定されています。 例 <table cellpadding="value" >.....</table> セルスペース 複数のセルに関連付けられています。 単