Initial commit
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
概念:
|
||||
自定义变量类型 类似枚举
|
||||
==数据和函数的集合==
|
||||
是[[值类型和引用类型|引用类型]]
|
||||
|
||||
|
||||
通常用法:
|
||||
解决复杂类型数据的存储
|
||||
写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 内部不能直接给字段赋值 → 为了效率,无隐式初始化
|
||||
#基础
|
||||
Reference in New Issue
Block a user