美文网首页通往成功之路
C#结构体定义的详解

C#结构体定义的详解

作者: 此十八 | 来源:发表于2018-05-03 18:12 被阅读4次

C#结构体定义的情况:

C#结构体定义也可以象类一样可以单独定义.

class   a{}; 

struct a{};

C#结构体定义也可以在名字前面加入控制访问符.

public struct student{}; 

internal struct student{};

如果结构体student没有publice或者internal的声明 类program就无法使用student结构定义 obj对象

如果结构体student的元素没有public的声明,对象obj就无法调用元素x

因为默认的结构体名和元素名是private类型

C#结构体定义之程序:

using System; 

public struct student 

   public int x; 

}; 

class program 

public static void Main() 

student obj=new student(); 

obj.x=100;    

};

在结构体中也可以定义静态成员与类中一样,使用时必须用类名,或结构名来调用不属于实例,声明时直接定义.

C#结构体定义程序:

using System; 

public struct student 

public static int a = 10; 

}; 

class exe 

public static void Main() 

Console.WriteLine( student.a = 100); 

};

using System; 

class base

public struct student 

public static int a = 10; 

}; 

class exe 

public static void Main() 

Console.WriteLine( base.student.a = 100); 

};

在结构体中可以定义构造函数以初始化成员,但不可以重写默认无参构造函数和默认无参析构函数

C#结构体定义程序:

public struct student 

   public int x; 

   public int y; 

   public static int z; 

   public student(int a,int b,int c) 

x=a; 

y=b; 

student.z=c; 

};

在结构体中可以定义成员函数。

C#结构体定义程序:

public struct student 

   public void list() 

Console.WriteLine("这是构造的函数"); 

};

结构体的对象使用new运算符创建(obj)也可以直接创建单个元素赋值(obj2)这是与类不同的因为类只能使用new创建对象

C#结构体定义程序:

public struct student 

   public int x; 

   public int y; 

   public static int z; 

   public student(int a,int b,int c) 

x=a; 

y=b; 

student.z=c; 

}; 

class program 

public static void Main() 

   student obj=new student(100,200,300); 

   student obj2; 

   obj2.x=100; 

   obj2.y=200; 

   student.z=300; 

}

在使用类对象和函数使用时,使用的是引用传递,所以字段改变

在使用结构对象和函数使用时,是用的是值传递,所以字段没有改变

C#结构体定义程序:

using System; 

class class_wsy 

public int x; 

struct struct_wsy 

public int x; 

class program 

public static void class_t(class_wsy obj) 

obj.x = 90; 

public static void struct_t(struct_wsy obj) 

obj.x = 90; 

public static void Main() 

class_wsy obj_1 = new class_wsy(); 

struct_wsy obj_2 = new struct_wsy(); 

obj_1.x = 100; 

obj_2.x = 100; 

class_t(obj_1); 

struct_t(obj_2); 

Console.WriteLine("class_wsy obj_1.x={0}",obj_1.x); 

Console.WriteLine("struct_wsy obj_2.x={0}",obj_2.x); 

Console.Read(); 

}

C#结构体定义程序运行结果为:

class_wsy obj_1.x=90 

struct_wsy obj_2.x=100

相关文章

  • C#结构体定义的详解

    C#结构体定义的情况: C#结构体定义也可以象类一样可以单独定义. class a{}; struct a{}; ...

  • solidity基础(3)

    solidity的自定义结构体深入详解结构体,solidity中的自定义类型,我们可以使用关键字struct来进行...

  • 结构体

    [toc] 结构体的定义方式 先定义结构体类型,再定义结构体变量 定义结构体类型的同时定义结构体变量 定义结构体类...

  • 结构体数组的定义

    结构体数组的定义 1、先定义结构体类型,再定义结构体数组 2、定义结构体类型的同时定义结构体数组 3、省略结构体类...

  • 结构体

    结构体有名定义 无名定义 结构体嵌套定义 结构体内存对齐 结构体成员初始化 结构体变量引用 结构体的有名定义:直白...

  • C语言特性(结构体)

    结构体 定义结构体 定义结构体类型的语法格式如下: 定义结构体类型之后,接下来就可利用该结构体类型来定义变量。利用...

  • 结构体

    结构体定义格式 定义结构体变量 结构体初始化 结构体内存分析 定义结构体类型并不会分配存储空间 只有定义结构体变量...

  • C语言 第九章 结构体

    [TOC] 第九章结构体 结构体的定义 结构体定义2 指针表示结构体

  • Rust 入门 - Struct

    结构体 结构体定义 使用 可变的 快捷构建 元组结构体 tuple structs 定义元组结构体,以 struc...

  • C语言--结构体

    用户可以使用结构体自定义自己的数据类型。 结构体定义和变量声明 struct用来定义结构体,结构体一般定义如下,其...

网友评论

    本文标题:C#结构体定义的详解

    本文链接:https://www.haomeiwen.com/subject/sqylrftx.html