0
点赞
收藏
分享

微信扫一扫

C#中的结构

梦想家们 2022-02-20 阅读 71

前言

今天和大家一起来看看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运算符)

寄语

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

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

很高兴能和您成为朋友。

举报

相关推荐

0 条评论