关键词搜索

源码搜索 ×
×

C# 结构(很少能用到)

发布2014-01-08浏览2470次

详情内容

结构示例

  1. public struct Person
  2. {
  3. string Name;
  4. int height;
  5. int weight
  6. public booloverWeight()
  7. {
  8. //implement something
  9. }
  10. }

类示例

  1. public class TestTime
  2. {
  3. int hours;
  4. int minutes;
  5. int seconds;
  6. public void passtime()
  7. {
  8. //implementation of behavior
  9. }
  10. }

调用过程

  1. public class Test
  2. {
  3. public static ovid Main
  4. {
  5. Person Myperson=new Person //声明结构
  6. TestTime Mytime=New TestTime //声明类
  7. }
  8. }

从上面的例子中我们可以看到,类的声明和结构的声明非常类似,只是限定符后面是 struct还是 class的区别,而且使用时,定义新的结构和定义新的类的方法也非常类似。那么类和结构的具体区别是什么呢?

结构可以看作是轻量级的类,在性能上要好一点。

相同之处:

·        结构和类对于程序来讲都通过指针操作,同样是面向对象的形式。

不同之处:

·        结构体对象总是在线程堆栈上操作,而不是托管堆上。

·        不能继承一个结构体(所以在调用结构体的方法时不需要查找 vtable: 虚函数继承表)

·        我们不能声明构造函数为空的结构体

·        结构体的构造函数内必须初始化所有变量

·        结构体的字段不能有默认值(默认都是二进制意义上的零值),但是可以在构造函数内改变“默认值”

小结:结构可用于表示相互联系的数据。可以通过句点字符访问结构的数据成员。

相关技术文章

最新源码

下载排行榜

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载