博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 结构体
阅读量:7059 次
发布时间:2019-06-28

本文共 1364 字,大约阅读时间需要 4 分钟。

1,结构体不能出现在继承关系中,除了继承接口。

  结构体不能继承类或结构,也不能被类或结构继承,只可以继承接口

2,struct不能定义默认构造函数(无参构造函数),也不能定义析构函数。class对这两点都无限制。

3,如果struct提供了带参构造函数,则它的所有字段(变量)都必须在构造函数中初始化,否则编译报错。class对此无限制。

4,成员默认修饰符都是private,在C++中则默认为public

5,结构体成员变量不能在声明时初始化,即不能带有初始值。class对此无限制

using System;delegate string DTE(int x, string s);class MYTestX{    struct ST    {        //public int x = 3; //错误,不能在结构体中这样初始化变量        public int x;        public int y;        //结构体有默认构造函数,我们不能定义它        //ST()//错误,结构体不能有无参构造函数。        //{        //}        //若定义了有参构造函数,则必须在此初始化全部成员变量        ST(int x, int y)        {            this.x = x;            this.y = y;        }    }    class CTEST    {    }    static void Main(string[] args)    {        ST ot = new ST(); //调用默认构造函数,将所有成员置为默认值        int x = ot.x;        Console.WriteLine(x);        ST otx;//在栈上为结构体otx分配空间,大小为两个int(若有其它类型注意字节对齐问题)        otx.x = 20;        //c#中,任何未初始化的值或类型都不能被使用,其值是未知的        int yt;        string s0;        CTEST otest;//在栈上为otest变量本身分配4或8字节内存(相当于C++的指针),32位机是4字节,64位机是8字节             //此时并未给otest在堆上分配内存,只有等到new CTEST()时才分配堆内存        Console.WriteLine(otx.x);//编译错误        otx.x = 2; //可以,这是赋值操作        Console.WriteLine(yt);//编译错误        Console.WriteLine(s0);//编译错误        Console.WriteLine(otest);//编译错误    }}

 

 

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

转载于:https://www.cnblogs.com/timeObjserver/p/5927347.html

你可能感兴趣的文章
当数据量大时的加载原理?
查看>>
2019年广东省赛gdccpc回顾
查看>>
关系型数据库 VS 非关系型数据库
查看>>
Java学习第十七天
查看>>
关于我
查看>>
第七章:标准的输入/输出和管道
查看>>
TCP/IP协议栈 --- IP路由
查看>>
JQuery基础总结下
查看>>
点击弹出窗口网页背景变暗且不可点的效果(一):div实现
查看>>
angularjs中控制器之间的通信----$on、$emit和$broadcast解析
查看>>
layui 表格组件不能访问连续的属性的解决办法
查看>>
windows server 2003 原版 安装 php+mysql+apache 教程
查看>>
【BZOJ1930】【SHOI2003】吃豆豆
查看>>
Ubuntu下使用Vi是方向键变乱码 退格键不能使用的解决方法
查看>>
PostgreSQL 10.0 压缩版的 pgAdmin 不能用的问题
查看>>
动态最小生成树讲解
查看>>
find命令
查看>>
Windows和Mac下安装Beautiful Soup
查看>>
Mac 配置android环境变量
查看>>
SkyLine二次开发——解决在web页面启动时自动运行TerraExplorer的问题
查看>>