C#入门系列 -- 初识结构体
【摘要】 概念在 C# 中,结构体是值类型数据结构。它使得一个单一变量可以存储各种数据类型的相关数据。struct 关键字用于创建结构体。对于这些比较复杂的数据的表示,C#提供了结构体类型来保证数据的描述尽量与实际应用相一致。C#的结构体类型(或称为结构)是用户自定义类型的一种,它为用户将实际应用中数据类型不同,但互相联系的数据看作一个整体提供了类型支持。C#的结构体允许将不同类型但又互相联系的数据...
概念
在 C# 中,结构体是值类型数据结构。它使得一个单一变量可以存储各种数据类型的相关数据。struct 关键字用于创建结构体。
对于这些比较复杂的数据的表示,C#提供了结构体类型来保证数据的描述尽量与实际应用相一致。
C#的结构体类型(或称为结构)是用户自定义类型的一种,它为用户将实际应用中数据类型不同,但互相联系的数据看作一个整体提供了类型支持。
C#的结构体允许将不同类型但又互相联系的数据组合在一起形成一种新的数据类型。
定义
定义形式为:
[public] struct 结构体类型名{
成员声明;
}
-
成员声明描述了该类型的数据成员(或称为数据元素)以及其他类型成员的集合。
-
成员的数目可以任意多个,由具体需求确定。
-
大括号是成员列表的边界符。
结构体类型定义时,必须给出各个数据成员的类型声明。
如下所示:
public 成员类型 成员名称列表;
public是一个访问权限修饰符,表示该数据成员允许在结构体类型定义之外的地方访问。
如果在定义结构体时,某个数据成员之前没有public访问修饰符,则结构体类型变量不能访问这个数据成员。
如果声明的多个成员是同一类型,则形成成员列表,各成员名称之间用逗号隔开。
- 例如,对于坐标点信息的表示可以建立下面的结构体类型。
struct Ponit{
public int X; //横坐标
public int Y; //纵坐标
}
结构体属于值类型的数据类型,可以根据其使用范围选择定义在某个类的内部或者定义在所有类的外部。
一般来说,放在类内部定义的结构体类型只在该类中使用,放在类外部定义的结构体可以在当前命名空间范围内使用。
C#中,结构体定义不能放在方法或函数内部。
补充说明
下面是对结构体类型定义的补充说明。
-
struct是定义结构体类型的一个关键字,不代表一种数据类型。
-
只有使用struct关键字定义了具体的结构体类型之后才能定义相应的变量,因此不能使用struct关键字来作为变量的数据类型。
-
结构体类型的成员既可以是简单数据类型的,也可以是结构体类型的,即结构体的定义可以嵌套。
比如:
struct Ponit{
public int X; //横坐标
public int Y; //纵坐标
}
struct Ponit_3{
public Ponit Pos_X_Y;
public int Z;
}
- C#不允许结构体内部的成员类型是本结构体。如:
struct Ponit{
public int X; //横坐标
public int Y; //纵坐标
// 这样是错误 ❎ 的
public Ponit pos;
}
-
C#中的结构体除了数据成员之外,它也可以有函数成员。
-
结构体与类最大的区别就是类是引用类型,而结构是值类型。结构是密封的、不能继承的。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)