• 31
  • 1月

Q1:为什么结构体中还用new操作符?(11章p249)
A1:貌似结构体也可以实现构造函数,用new可以执行它。(?不确定)
Q2:结构体也可以实现接口吗?(同上)
A2:貌似类能实现的东西结构体都可以实现。
恐怕是除其实例为值类型,与类实例的引用类型不同外,其他的都相同吧。也许…

10:59 2007-1-21
经过查阅MSDN的有关结构的文档,现在终于可以确定是怎么回事了。在C#中结构是可以看作一个轻量的、值类型的类,结构与类共享几乎所有相同的语法,但结构比类受到的限制更(MDSN原文)。
Q2现在很容易解释了,既然结构可以看作值类型的类,为什么不能实现接口呢?
至 于Q1,也查到了答案:所有的类型(包括int这样的值类型)都有默认的构造函数,也都可以使用new操作符调用其默认构造函数。对于值类型的变量,使用 new与不用它之间的区别是,不用new时,变量处于未赋值状态,很多时候是不可以直接使用的。而使用new操作符,则会给变量赋以默认值(可参见 MSDN的默认值表)。
21:02 2007-1-31

标签:

您可以对这篇文章发表一条评论,或者在您自己的网站中引用 (Trackback) 它

发表一条评论

所有标签:.net Ajax Java javascript Linux map MySQL RSS TD-SCDMA Ubuntu vim web Win7 乱码 基础知识 备份 奥运会 希望泉 性能 缓存 编程