C#——引用类型

C#——引用类型

定义为 类、委托、数组或 接口的类型是 引用类型。 在运行时,当声明引用类型的变量时,该变量会一直包含值 null,直至使用 new 运算符显式创建对象,或者为该变量分配已经在其他位置使用 new 创建的对象,如下所示:

MyClass mc = new MyClass();
MyClass mc2 = mc;

接口必须与实现它的类对象一起初始化。 如果 MyClass 实现 IMyInterface,则按以下示例所示创建 IMyInterface 的实例:

IMyInterface iface = new MyClass();

创建对象后,内存会在托管堆上进行分配,并且变量只保留对对象位置的引用。 对于托管堆上的类型,在分配内存和 CLR 自动内存管理功能(称为“垃圾回收”)回收内存时都会产生开销。 但是,垃圾回收已是高度优化,并且在大多数情况下,不会产生性能问题。

所有数组都是引用类型,即使元素是值类型,也不例外。 虽然数组隐式派生自 System.Array 类,但可以使用 C# 提供的简化语法声明和使用数组,如以下示例所示:

// Declare and initialize an array of integers.
int[] nums = { 1, 2, 3, 4, 5 };

// Access an instance property of System.Array.
int len = nums.Length;

引用类型完全支持继承。 创建类时,可以从其他任何未定义为密封的接口或类继承,而其他类可以从你的类继承并重写虚拟方法。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值