积极答复者
c# new的用法

问题
答案
-
c#中一般引用类型需要使用NEW实例化,
值类型不需要
但是STRING字符串类型也不需要实例化
值类型也可以用new实例化,调用默认的构造函数
1.用于创建对象和调用构造函数例:Class_Test MyClass = new Class_Test();
2.也用于为值类型调用默认的构造函数
例:int myInt = new int();
myInt 初始化为 0,它是 int 类型的默认值。该语句的效果等同于:int myInt = 0;
参照下这里
http://hi.baidu.com/gnaran/blog/item/45f5b75972ecda86800a18b0.html
努力+方法=成功- 已标记为答案 YiChun Chen 2010年1月6日 9:22
-
补充一点 值类型也可以用new实例化,调用默认的构造函数 不仅可以调用默认构造函数 也可以调用带有参数的构造函数,比如自定义的struct等
Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!My blog~~~- 已标记为答案 YiChun Chen 2010年1月6日 9:23
-
lpc67,你好!
这个问题比较容易总结:除了编译器支持的基元类型(例如int,double等),其他类型的都应该用new语法来初始化!
但是struct比较特殊,有时可以不使用new的方式来初始化,关于这个类型,我曾多次写文章来说明它:
http://www.cnblogs.com/xuefeng1982/archive/2009/12/06/1618251.html
另外,一个事实是这样的,对于编译器支持的基元类型(例如int,double等),如果你愿意,同样可以用new语法来初始化:
int i=new int(); //i被初始化为0
当然,编译器提供了简洁的语法:
int i=0; //i被初始化为0
希望这个解释对你有帮助!
周雪峰- 已标记为答案 YiChun Chen 2010年1月6日 9:22
-
Tang版主,你好!
略微补充一下你的说法,实际上如果你不为值类型提供自定义的构造函数,那么C#编译器不会为值类型生成默认的构造函数,通过查看IL可以验证这一点,这个和引用类型不同!
周雪峰- 已标记为答案 YiChun Chen 2010年1月6日 9:23
全部回复
-
c#中一般引用类型需要使用NEW实例化,
值类型不需要
但是STRING字符串类型也不需要实例化
值类型也可以用new实例化,调用默认的构造函数
1.用于创建对象和调用构造函数例:Class_Test MyClass = new Class_Test();
2.也用于为值类型调用默认的构造函数
例:int myInt = new int();
myInt 初始化为 0,它是 int 类型的默认值。该语句的效果等同于:int myInt = 0;
参照下这里
http://hi.baidu.com/gnaran/blog/item/45f5b75972ecda86800a18b0.html
努力+方法=成功- 已标记为答案 YiChun Chen 2010年1月6日 9:22
-
补充一点 值类型也可以用new实例化,调用默认的构造函数 不仅可以调用默认构造函数 也可以调用带有参数的构造函数,比如自定义的struct等
Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!My blog~~~- 已标记为答案 YiChun Chen 2010年1月6日 9:23
-
Tang版主,你好!
略微补充一下你的说法,实际上如果你不为值类型提供自定义的构造函数,那么C#编译器不会为值类型生成默认的构造函数,通过查看IL可以验证这一点,这个和引用类型不同!
周雪峰- 已标记为答案 YiChun Chen 2010年1月6日 9:23
-
lpc67,你好!
这个问题比较容易总结:除了编译器支持的基元类型(例如int,double等),其他类型的都应该用new语法来初始化!
但是struct比较特殊,有时可以不使用new的方式来初始化,关于这个类型,我曾多次写文章来说明它:
http://www.cnblogs.com/xuefeng1982/archive/2009/12/06/1618251.html
另外,一个事实是这样的,对于编译器支持的基元类型(例如int,double等),如果你愿意,同样可以用new语法来初始化:
int i=new int(); //i被初始化为0
当然,编译器提供了简洁的语法:
int i=0; //i被初始化为0
希望这个解释对你有帮助!
周雪峰- 已标记为答案 YiChun Chen 2010年1月6日 9:22