举报投诉联系我们 手机版 热门标签 编程学
您的位置:编程学 > c#结构体和类的区别 C# 结构体

c#结构体和类的区别 C# 结构体

2023-02-28 22:18 C#教程

c#结构体和类的区别 C# 结构体

c#结构体和类的区别

C#结构体和类是C#中的两种重要的数据类型,它们都可以用来定义对象,但是它们之间有很多不同之处。

首先,C#结构体是一种值类型,而C#类是一种引用类型。这意味着当使用C#结构体时,它会将数据存储在栈中;而当使用C#类时,它会将数据存储在堆中。

其次,C# 结构体不能声明静态成员;而 C# 类可以声明静态成员。

此外,C# 结构体不能声明虚方法、重写方法、隐藏方法、抽象方法、运行时句柄或者事件处理函数;而 C# 类可以声明这些成员。

最后,C# 结构体不能作为其他的 C# 结构体的基本 C# 类型;而 C# 类可以作为其他 C# 类的基本 C # 类型。

  struct Student  // 声明一个Student的struct  
    {  
        public string Name;   // 声明Name字段  
        public int Age;      // 声明Age字段  

        public void Print()  // 声明Print()方法  
        {  
            Console.WriteLine("Name:{0},Age:{1}", Name, Age);  
        }  

    }  

C# 结构体

C#结构体

struct类似于类。

struct是一个值类型,而一个类是一个引用类型。

结构体不支持继承。

结构体隐式地从对象派生,或者更确切地说,是System.ValueType。

一个struct可以拥有一个类可以拥有的所有成员,除了以下:
  • 无参数构造函数
  • 终结器
  • 虚拟成员

结构构造函数

您无法重写的无参构造函数隐式存在。它执行其字段的按位置零。

定义结构构造函数时,必须显式分配每个字段。

您不能在结构中使用字段初始值设置。

这里是一个声明和调用结构体构造函数的例子:

public struct Point { 
   int x, y; 
   public Point (int x, int y) { this.x = x; this.y = y; } 
} 
Point p1 = new Point ();     // p1.x and p1.y will be 0 
Point p2 = new Point (1, 1); // p1.x and p1.y will be 1 


阅读全文
以上是编程学为你收集整理的c#结构体和类的区别 C# 结构体全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 编程学 bianchengxue.com 版权所有 联系我们
桂ICP备19012293号-7 返回底部