object (C# リファレンス)object (C# Reference)

object 型は .NET での Object の別名です。The object type is an alias for Object in .NET. C# の統一型システムでは、すべての型 (定義済み、ユーザー定義、参照型、および値型) が、直接または間接的に Object を継承します。In the unified type system of C#, all types, predefined and user-defined, reference types and value types, inherit directly or indirectly from Object. object 型の変数には、任意の型の値を割り当てることができます。You can assign values of any type to variables of type object. 値型の変数が object に変換されることを、ボックス化されると言います。When a variable of a value type is converted to object, it is said to be boxed. object 型の変数が値型に変換されることを、ボックス化解除されると言います。When a variable of type object is converted to a value type, it is said to be unboxed. 詳細については、「ボックス化とボックス化解除」を参照してください。For more information, see Boxing and Unboxing.

Example

次の例は、object 型の変数で任意のデータ型の値を受け取る方法と、object 型の変数で .NET Framework の Object に対するメソッドを使用する方法を示したものです。The following sample shows how variables of type object can accept values of any data type and how variables of type object can use methods on Object from the .NET Framework.

class ObjectTest
{
   public int i = 10;
}

class MainClass2
{
   static void Main()
   {
      object a;
      a = 1;   // an example of boxing
      Console.WriteLine(a);
      Console.WriteLine(a.GetType());
      Console.WriteLine(a.ToString());

      a = new ObjectTest();
      ObjectTest classRef;
      classRef = (ObjectTest)a;
      Console.WriteLine(classRef.i);
   }
}
/* Output
    1
    System.Int32
    1
 * 10
*/

C# 言語仕様C# language specification

詳細については、「C# 言語の仕様」を参照してください。For more information, see the C# Language Specification. 言語仕様は、C# の構文と使用法に関する信頼性のある情報源です。The language specification is the definitive source for C# syntax and usage.

関連項目See also