码迷,mamicode.com
首页 > 其他好文 > 详细

结构与类的区别

时间:2014-06-06 15:57:00      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:c   style   class   blog   code   java   

1、结构中可以声明字段,但是不能够给字段初始值

bubuko.com,布布扣
public struct Point
    {
        private int x;
        x = 1;   //错误    1    类、结构或接口成员声明中的标记“=”无效    
        public Point(int x)
        {
            this.x = x;
        }
    }
bubuko.com,布布扣

在类中声明一个字段之后也是不能够为其赋值的

bubuko.com,布布扣
public class RefPoint
    {
        private int x { set; get; }
        public int y;
        y = 12;//错误    1    类、结构或接口成员声明中的标记“=”无效    
        public RefPoint(int x)
        {
            this.x = x;
        }
    }
bubuko.com,布布扣

但是可以再声明字段的同时给他赋值

bubuko.com,布布扣
public class RefPoint
    {
        private int x { set; get; }
        public int y = 12;
        public RefPoint(int x)
        {
            this.x = x;
        }
    }
bubuko.com,布布扣

C#编译器在编译的时候,如果我们声明字段的时候为字段赋值,那么为字段赋值的代码C#编译器在编译的时候会将赋值的代码放到构造函数中去,其实严格意义上来说,类的字段也是不能有初始值的.只不过微软在背后帮我们做了点事情,我们不知道而已.

2、构造函数

结构不能手动添加无参数构造器

结构体的构造函数必须为所有的字段赋值

3、结构体不能从另外一个结构或者类继承(它隐士继承了valuetype类型),但是可以实现接口

4、结构是值类型,而类是引用类型

5、结构类型不能使用 == 进行比较,会报错

结构与类的区别,布布扣,bubuko.com

结构与类的区别

标签:c   style   class   blog   code   java   

原文地址:http://www.cnblogs.com/justforcoding/p/3766502.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!