All articles(网络文学目录) All Pictures(图片目录) All Softwares(软件目录)

 
C#教程:C#数据类型之引用类型

Writer: qq Article type: Programming skills(编程技巧) Time: 2014/7/11 9:21:52 Browse times: 328 Comment times: 0

C#教程:C#数据类型之引用类型


Head photo

Go homepage
Upload pictures
Write articles

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);
}
}
输出结果为:
1
System.Int32
1
60

可以看到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();
}
}
}





There are 0 records,
Comment:
Must be registered users to comment(必须是注册用户才能发表评论)

Disclaimer Privacy Policy About us Site Map
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.