Let us first understand what the object class is
Object class:
The object class is the base class of all types, and all types are derived from it. All types in C# Classes are directly or indirectly inherited from the Sytem.Object class (it may be a little confusing, it doesn't matter, for example, if the Object class is a tree trunk, all the classes we learned earlier are branches or leaves, you understand). Therefore, any type of value can be assigned to a variable of type Object.
Determine an Object variable:
To declare a variable of type Object, use the object keyword; this keyword is defined in the predefined namespace System provided by the .Net framework structure. , is an alias of class System.object. The definition format is as follows: object variable name;
Example:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Test { class Program { static void Main(string[] args) { object Int,Str,Doub,Ch; //定义4个object变量 Int = 1; //整形赋值成功 Str = "HC666"; //string类型赋值成功 Doub = 12.32; //double 类型赋值成功 Ch = '男'; //char 类型赋值成功 Console.WriteLine("Int = {0}\tStr = {1}\tDoub = {2}\tch = {3}",Int,Str,Doub,Ch); } } }
Output result: (exactly the same^_^)
Example Exploration:
The above definition of Object emphasizes that object is the base class for all types. So can we define a Struct class and a class class and convert them into objects? ? I added some elements to the above code:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Test { class Program { public struct Student { public string name; public char sex; public uint age; } static void Main(string[] args) { Student stu = new Student{ name = "HC666",sex = '男',age = 19 }; //初始化 stu object m = stu; //将stu转换为object类型的对象m Student x = (Student)m; //将object类型的对象m 转换为Student x 要用强制转换 Console.WriteLine("name:{0}\tsex:{1}\tage:{2}",x.name,x.sex,x.age); } } }
<span style="font-size:18px;">结果是这样的:</span>
The above example shows that the Struct type and Class type can be converted into each other with the object type. The conversion process is as follows:
Struct ---->object---->struct; (only Struct---->Object cannot output values), the value in stu will not be changed during the conversion process
The above is the content of C# Learning Diary 14---object type of reference type. For more related content, please pay attention to the PHP Chinese website (m.sbmmt.com)!