42 lines
1.0 KiB
Markdown
42 lines
1.0 KiB
Markdown
概念:
|
|
自定义变量类型 类似枚举
|
|
==数据和函数的集合==
|
|
是[[值类型和引用类型|引用类型]]
|
|
|
|
|
|
通常用法:
|
|
解决复杂类型数据的存储
|
|
写namespace层级中
|
|
|
|
语法:
|
|
关键字struct
|
|
必须有变量
|
|
构造函数(可选)
|
|
函数(可选)
|
|
|
|
案例:
|
|
```Csharp
|
|
struct Student
|
|
{
|
|
int age;
|
|
bool sex;
|
|
int number;
|
|
string name;
|
|
void speak(){}
|
|
}
|
|
```
|
|
|
|
注意:
|
|
可以声明变量和方法、构造方法
|
|
甚至可以声明别的结构体,但是不能用自己声明自己
|
|
==不能在结构体内初直接给成员初始化==
|
|
==和static class相反!!!==
|
|
==`struct` 本身就是[[值类型和引用类型|值类型]]、可实例化、可复制、可栈上分配==
|
|
==`static class` 的设计目的:**只装静态成员,不能实例化**==
|
|
|
|
|
|
==邪修:==
|
|
`static class`:纯工具类,不能 new
|
|
`struct`:值类型,必须能 new、复制、栈分配 → 不支持 static
|
|
struct 内部不能直接给字段赋值 → 为了效率,无隐式初始化
|
|
#基础 |