c#结构体

1结构体概念

自定义变量类型

是数据和函数的集合在结构体中

可以声明各种变量和方法

结构体一般写在 namespace语句块中 struct

2 结构体构成

第一部分 变量

第二部分 构造函数可选

第三部分 函数

默认不写访问修饰符,就是私有的

结构体中声明的变量不能直接初始化 变量类型可以任意 包括结构体 但不能是自己的结构体

结构体例子

cs 复制代码
struct People{
    public int age;
    public bool sex;
    public int number;
    public string name;
    //People p; 错误写法 不能是自己的结构体
    person p; //可以是别的结构体的
   }

结构体中的方法 不需要加static 关键字

结构体中的函数可以直接使用内部声明的变量

结构体中函数例子

cs 复制代码
public void Speak()
{
    Console.WriteLine(name,age);
}

构造函数 是一般方便在外部初始化

结构体的构造函数 没有返回值 也不能写void,

函数名和结构体名相同 必须有参数

如果声明了构造函数 那么必须在其中对所有变量数据初始化。

结构体构造函数

cs 复制代码
 public People(int age,bool sex,int number,string name)
 {   //this 代表自己的
     this.age = age;
     this.sex = sex;
     this.number = number;
     this.name = name;
 }

3 结构体使用

变量类型 变量名;

cs 复制代码
People p;
p.age = 18;
p.name = "shan";
p.sex = false;
p.number = 1;
p.Speak();

用构造函数的使用

cs 复制代码
People p2 = new People(18, true, 2, "fly");
p2.Speak();
相关推荐
Ada's3 小时前
【计算机基础系列】003:Python数据结构
开发语言·数据结构·python
2601_962885724 小时前
如何用 Python 计算 TRIX 三重指数平滑均线指标?
开发语言·python
还卿一钵无情泪4 小时前
Unsloth 微调 构建自己的大模型 没有GPU也能微调
linux·开发语言·人工智能·python·大模型·nlp·unsloth
倔强的石头1066 小时前
应用账号最小权限实践:读写账号、报表账号、运维账号分层
java·运维·开发语言
传人once6 小时前
页面中心圆圈放大效果如何写
开发语言·javascript·ecmascript
NeilYuen6 小时前
【C++】STL源码仿写(二):vector
开发语言·c++
蜗牛互联网7 小时前
Python消费Responses SSE事件:增量文本、超时与取消
java·开发语言·人工智能·后端·python
weixin_307779137 小时前
C++代码实现MATLAB中的crossval函数功能
开发语言·c++·算法·matlab
ttwuai7 小时前
Go后台管理系统开源项目:4个官方仓库怎么追溯和核验
开发语言·golang·开源
谢亮_vipxieliang7 小时前
Go Worker Pool 设计——从原理到生产级实现
开发语言·后端·golang