C#中的结构

举报
Andy阿辉 发表于 2022/02/22 20:50:35 2022/02/22
【摘要】 欢迎您成为我的读者,希望这篇文章能给你一些帮助。 前言今天和大家一起来看看C#中的结构。在日常的编码过程中,对于结构的应用还是比较少的。但是当操作到一些对数据结构比较敏感的程序时,就需要使用结构这种数据类型.结构是程序员定义的数据类型,和类类似。它们有数据成员和函数成员。但是二者也有很多区别。1、类是引用类型而结构是值类型。2、结构是隐式密封的,这意味着它们不能被派生。struct Poin...

欢迎您成为我的读者,希望这篇文章能给你一些帮助。

前言

今天和大家一起来看看C#中的结构。在日常的编码过程中,对于结构的应用还是比较少的。但是当操作到一些对数据结构比较敏感的程序时,就需要使用结构这种数据类型.

结构是程序员定义的数据类型,和类类似。它们有数据成员和函数成员。

但是二者也有很多区别。

1、类是引用类型而结构是值类型。

2、结构是隐式密封的,这意味着它们不能被派生。

struct Point 
{
    public int x;
    public int y;
}

比如上面的程序就是一个简单的结构,是属于值类型,结构类型变量含有自己的数据,同时结构类型的变量不能为null,两个结构变量不能引用同一对象。

 struct Point 
 {
     public int x;
     public int y;
 } 
 class OnePoint 
 {
     public int x;
     public int y;
 } 

关于结构类型的日常使用频次比较高的是和下位机进行程序通信的时候,有时候设计为结构类型更合理。

对结构的赋值

把一个结构赋值给另外一个结构,就将一个结构的值复制给另一个结构。这和复制类变量不同,复制类变量时只复制引用。

构造函数

class Program
{
    public Program()
    {
            
    }        
}

每个类都有一个默认的无参构造函数,如果不进行实例化,都将默认使用无参构造函数来工作。若进行重写,则可有多个构造函数,这里也可以被称为多态。

这里需要主要结构可以有实例构造函数和静态构造函数,但不允许有析构函数。

实例构造函数

    struct Point
    {
        public int X; 
        public int Y;

        public Point(int x,int y)
        {
            X = x;
            Y = y;
        }
    }

调用一个构造函数,包含隐式无参数构造函数,要使用new运算符。(即使不从堆中分配内存,也要使用new运算符)

寄语

人生短暂,我不想去追求自己看不见的,我只想抓住我能看得见的。

原创不易,给个关注。

我是阿辉,感谢您的阅读,如果对你有帮助,麻烦点赞、转发 谢谢。

很高兴能和您成为朋友。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。