中易网

C#中new的作用

答案:7  悬赏:40  
解决时间 2021-01-19 17:21
  • 提问者网友:流星是天使的眼泪
  • 2021-01-19 00:37
C#中new的作用
最佳答案
  • 二级知识专家网友:躲不过心动
  • 2021-01-19 01:51
(1)new 运算符 用于创建对象和调用构造函数。
(2)new 修饰符 用于隐藏基类成员的继承成员。
(3)new 约束 用于在泛型声明中约束可能用作类型参数的参数的类型。

new 运算符
1.用于创建对象和调用构造函数
例:Class_Test MyClass = new Class_Test();
2.也用于为值类型调用默认的构造函数
例:int myInt = new int();
myInt 初始化为 0,它是 int 类型的默认值。该语句的效果等同于:int myInt = 0;
3.不能重载 new 运算符。
4.如果 new 运算符分配内存失败,则它将引发 OutOfMemoryException 异常。

new 修饰符
使用 new 修饰符显式隐藏从基类继承的成员。若要隐藏继承的成员,请使用相同名称在派生类中声明该成员,并用 new 修饰符修饰它。
全部回答
  • 1楼网友:舍身薄凉客
  • 2021-01-19 06:29
本人没学过C++。。。C#中如果只是MyClass mc,则mc的默认值是null。显示调用它的构造函数才会在堆里分配内存,并把指针放到栈上赋给变量mc。C#是托管类型的语言,当这个new了的对象没有被引用是,CLR会自动进行垃圾回收....
  • 2楼网友:千夜
  • 2021-01-19 05:44
我暂时保留我的看法!
  • 3楼网友:玩世
  • 2021-01-19 04:12
new 只是将他实例化,C# 里面只有少数情况才需要手动释放。
  • 4楼网友:我住北渡口
  • 2021-01-19 02:58
第一种:new Class();
第二种:覆盖方法
public new XXXX(){}
第三种:new 约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。
  • 5楼网友:往事埋风中
  • 2021-01-19 02:52
第一点:对于非静态的,那么需要new一下,叫实例化,这样才会分配内存空间.
第二点:在C#中有垃圾回收机制,不需要考虑释放内存问题
因此说C++是开手动档的车,而C#是自动档的~~
  • 6楼网友:北城痞子
  • 2021-01-19 02:25
MyClass mc只这么写的话,只声明了一个mc对象,并没有赋值,也就是说mc此时为值为null,new MyClass(),就用了MyClass的默认的构适函数创建了MyClass对象赋值给MyClass,此时mc不为null,为MyClass对象。在C#中要用类对象是必须要new的。在C++中分配了内存要手动释放,在C#不需要,它会自动释放的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息