Go homepage(回首页) Upload pictures (上传图片) Write articles (发文字帖)
The author:(作者)qqpublished in(发表于) 2014/7/11 9:21:52 C#教程:C#数据类型之引用类型
引用类型引用类型的变量又称为对象,可存储对实际数据的引用。Class、nterface、delegate可以用于声明引用类型。C#有两个内置的引用类型,分别为Object和String类型,下面将对其进行详细讲解。Object类型在.NET Framework中是Object的别名。在C#的统一类型系统中,所有类型(预定义类型、用户定义类型、引用类型和值类型)都是直接或间接从Object继承的。可以将任何类型的值赋给Object类型的变量。将值类型的变量转换为对象的过程称为“装箱”。将对象类型的变量转换为值类型的过程称为“取消装箱”。本教程来自http://www.isstudy.com示例Object类型a的引用调用下面通过例子来说明Object的引用,主要程序代码如下:using System;class ObjectClass{public int i = 60;}class MainClass{static void Main(){object a;a = 1; // 装箱的例子Console.WriteLine(a);Console.WriteLine(a.GetType());Console.WriteLine(a.ToString());Console.WriteLine();a = new ObjectClass ();ObjectClass classRef;classRef = (ObjectClass)a;Console.WriteLine(classRef.i);}}输出结果为:1System.Int32160可以看到classRef只是指向了a,因为classRef并没有实例化,所以它的classRef.i等于60。string类型表示 Unicode 字符的字符串。string是 .NET Framework 中的string的别名。字符串是不可变的。字符串对象一旦被创建,其内容就不能更改。尽管string是引用类型,但定义相等运算符(== 和 !=)是为了比较 string 对象(而不是引用)的值。这使得对字符串相等性的测试更为直观。例如:string a = "hello";string c = "h";c = c+"ello";Console.WriteLine(a == c);Console.WriteLine((object)a == (object)c);这时将先显示“True”,然后显示“False”,因为字符串的内容是相同的,但是 a 和 c 引用的不是同一个字符串实例。string可以包含转义序列,因为这些转义序列需要一个反斜杠开头,所以如果在字符串中使用这个非转义的反斜杠,则需要用两个“”来表示。如 string filepath="Cloadfiletest.txt"..但是如果大量使用这样的表示会让人难以理解,在C#中可以在字符串前面加上“@”符号,字符串里的字符就不会被解释为转义序列了。如string filepath=@"Cloadfiletest.txt"。本教程来自http://www.isstudy.com完整程序代码如下:★★★★★主程序文件完整程序代码★★★★★using System;using System.Collections.Generic;using System.Text;namespace _2_02{class ObjectClass{public int i = 60;}class Program{static void Main(string[] args){object a;a = 1; // 装箱的例子Console.WriteLine(a);Console.WriteLine(a.GetType());Console.WriteLine(a.ToString());Console.WriteLine();a = new ObjectClass();ObjectClass classRef;classRef = (ObjectClass)a;Console.WriteLine(classRef.i);Console.Read();}}}
赞