Heim > Artikel > Backend-Entwicklung > C#-Lerntagebuch 14 --- Objektklasse vom Referenztyp
Lassen Sie uns zunächst verstehen, was die Objektklasse ist
Objektklasse:
Die Objektklasse ist die Basisklasse aller Typen, und alle Typen werden von ihr abgeleitet. Alle Typen in C#. Klassen erben direkt oder indirekt von der Sytem.Object-Klasse (es kann etwas verwirrend sein, es spielt keine Rolle, wenn die Object-Klasse beispielsweise ein Baumstamm ist, sind alle Klassen, die wir zuvor gelernt haben, Zweige oder Blätter, verstehen Sie? ). Daher kann einer Variablen vom Typ Objekt jede Art von Wert zugewiesen werden.
Bestimmen Sie eine Objektvariable:
Um eine Variable vom Typ Objekt zu deklarieren, verwenden Sie das Schlüsselwort object. Dieses Schlüsselwort wird im vordefinierten Namespace System definiert, der von der .Net-Framework-Struktur bereitgestellt wird Alias der Klasse System.object. Das Definitionsformat ist wie folgt: Objektvariablenname;
Instanz:
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); } } }
Ausgabeergebnis: (genau das gleiche ^_^)
Beispieluntersuchung:
Die obige Definition von Object betont, dass object die Basisklasse für alle Typen ist. Können wir also eine Struct-Klasse und eine Klassenklasse definieren und sie in Objekte konvertieren? ? Im obigen Code habe ich einige Elemente hinzugefügt:
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>
Das obige Beispiel zeigt, dass der Strukturtyp und der Klassentyp mit ineinander konvertiert werden können Objekttyp. Der Konvertierungsprozess ist wie folgt:
Struct ---->object---->struct; (Nur Struct---->Object kann während der Konvertierung keine Werte ausgeben). Prozess, es wird den Wert in stu nicht ändern
Das Obige ist der Inhalt des C# Learning Diary 14---Referenztypobjekts. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php .cn)!