C#结构体

来源:互联网 发布:乐乎硬盘 编辑:程序博客网 时间:2024/06/05 15:35

C# 结构的特点

在 C# 中的结构与传统的 C 或 C++ 中的结构不同。C# 中的结构有以下特点:

  • 结构可带有方法、字段、索引、属性、运算符方法和事件。
  • 结构可定义构造函数,但不能定义析构函数。但是,您不能为结构定义默认的构造函数。默认的构造函数是自动定义的,且不能被改变。
  • 与类不同,结构不能继承其他的结构或类。
  • 结构不能作为其他结构或类的基础结构。
  • 结构可实现一个或多个接口。
  • 结构成员不能指定为 abstract、virtual 或 protected。
  • 当您使用 New 操作符创建一个结构对象时,会调用适当的构造函数来创建结构。与类不同,结构可以不使用 New 操作符即可被实例化。
  • 如果不使用 New 操作符,只有在所有的字段都被初始化之后,字段才被赋值,对象才被使用。

类 vs 结构

类和结构有以下几个基本的不同点:

  • 类是引用类型,结构是值类型。
  • 结构不支持继承。
  • 结构不能声明默认的构造函数。

  • using System;namespace hello{    struct book    {        private string title;        private string author;        private string subject;        private int book_id;        public void get_value(string a,string b,string c,int d)        {            title = a;            author = b;            subject = c;            book_id = d;        }        public void display( )        {             Console.WriteLine("The title is {0}",title);            Console.WriteLine("The author is {0}",author);            Console.WriteLine("The subject is {0}",subject);            Console.WriteLine("The book_id is {0}", book_id);                  }    }    public class name    {         public static void Main(string[] argvs)        {            book book1=new book();            book book2=new book();            book1.get_value("a","b","c",123);            book2.get_value("I","think ","i noise",888);            book1.display();            book2.display();            Console.ReadLine();        }        }}

原创粉丝点击