C#中的new操作符、对象、及引用

New操作符

  • 在内存中创建类的实例,并且立刻调用实例构造器,如果New操作符左边有赋值符号,New操作符会把自己拿到的这个实例的内存地址通过赋值操作符交给负责访问这个实例的变量。
  • New操作符还可以调用实例的初始化器。

对象及引用

A a=new A();
B b=null;
C c;
  • A是类型,a是引用,new A()是对象,引用a储存的是new出来对象的内存地址, 对象是储存在堆内存里的,引用变量储存在栈中。
  • B是类型,b是引用,指向null值。
  • C是类型,c是引用,不指向任何对象,仅为声明一个引用。
  • 第二行和第三行的区别,第二行指向空对象,第三行空引用,不指向任何对象。
class Program
    {
        static void Main(string[] args)
        {
        	A a=new A();
            B b=null;
            C c;
            Console.WriteLine(b.x );//会出现NullReferenceException异常
            Console.WriteLine(c.x);//不能调用,不指向任何对象
        }
   }
    class A
    {
    	public int x;
    }
    class B
    {
        public int x;
    }
    class C
    {
        public int x;
    }

以上为个人见解,如有错误,欢迎指出。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值