C#结构体

 C#结构体的定义:

在C#中结构体是值类型数据结构,它使得一个单一变量可以存储各种数据类型的相关数据.Struct关键字用于创建结构体。

定义结构体:

定义结构体,你必须使用struct语句,struct语句为程序定义了一个带有多个成员的新的数据类型;

定义的语法形式如下:

访问修饰符 struct 结构体名称{

//结构体成员

}

结构体的用法:

 

  struct Message

    {

        public string name;

        public int age;

        public string sex;

}



 class  prod

    {

     

        static void Main(string[] args)

        {

           

            Message Me1;

            Message Me2;



            Me1.name = "张三";

            Me1.age = 20;

            Me1.sex = "男";

            Me2.name = "李四";

            Me2.age = 18;

            Me2.sex = "女";

            Console.WriteLine("Me 1 name:{0}", Me1.name);

            Console.WriteLine("Me 1 age:{0}", Me1.age);

            Console.WriteLine("Me 1 sex:{0}", Me1.sex);

            Console.WriteLine("Me 2 name:{0}", Me2.name);

            Console.WriteLine("Me 2 age:{0}", Me2.age);

            Console.WriteLine("Me 2 sex:{0}", Me2.sex);



            Console.ReadLine();

        }

    }

C#结构体的特点:

 结构体可带有方法,字段,索引,属性,运算符方法和事件;

结构可定义构造函数,但不能定义析构函数,但是,您不能为结构定义无参构造函数.无构造函数(默认)是自动定义的,且不能被改变.

与类不同,结构不能继承其他的结构或类

结构不能作为其他结构或类的基础结构

结构可实现一个或多个接口

结构成员不能指定为abstract,vitual或protected

使用 New 操作符创建一个结构对象时,会调用适当的构造函数来创建结构。与类不同,结构可以不使用 New 操作符即可被实例化。

如果不使用New操作符,只有在所有的字段都被初始化之后,字段才被赋值,对象才被使用;

结构体与类有些类似,但其定义却有很大区别,具体如下表所示

结构体

允许不使用new对其实例化 

必须使用new实例化

没有默认构造方法

有默认构造方法

不能继承类 

能继承类

没有析构方法

有析构方法

不允许使用abstract、protected以及sealed修饰

允许使用abstract、protected以及sealed修饰

你可能感兴趣的:(c#,开发语言)