먼저 객체 클래스가 무엇인지 이해해 보겠습니다.
객체 클래스:
객체 클래스는 모든 유형의 기본 클래스이며 C#의 모든 유형은 여기에서 파생됩니다. 클래스는 Sytem.Object 클래스에서 직접 또는 간접적으로 상속됩니다(약간 혼란스러울 수 있지만 문제가 되지 않습니다. 예를 들어 Object 클래스가 나무 줄기라면 앞서 배운 모든 클래스는 가지나 잎입니다. ). 따라서 모든 유형의 값을 Object 유형의 변수에 할당할 수 있습니다.
Object 변수 결정:
Object 유형의 변수를 선언하려면 object 키워드를 사용하세요. 이 키워드는 .Net 프레임워크 구조에서 제공하는 사전 정의된 네임스페이스 System에 정의되어 있습니다. System.object 클래스의 별칭. 정의 형식은 다음과 같습니다: 객체 변수 이름;
인스턴스:
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); } } }
출력 결과: (정확히 동일 ^_^)
인스턴스 탐색:
위의 Object 정의는 객체가 모든 유형의 기본 클래스임을 강조합니다. 그러면 Struct 클래스와 클래스 클래스를 정의하고 이를 객체로 변환할 수 있습니까? ? 위 코드에는
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>
라는 요소를 추가했습니다. 위의 예에서는 Struct 유형과 Class 유형을 객체 유형으로 서로 변환할 수 있음을 보여줍니다.
Struct ---->object---->struct; (Struct---->Object만 값을 출력할 수 없음), stu의 값은 실행 중에 변경되지 않습니다. 변환과정
위는 C# 학습일지 14---객체형 참조형 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!