c#之初识结构(Struct)
C# 结构(Struct)
首先结构是值类型数据结构。它使得一个单一变量可以存储各种数据类型的相关数据。struct 关键字用于创建结构。通俗说:结构就是一个可以包含不同数据类型的集合。它是一种可以自己定义的数据类型。
枚举和结构全是值类型,枚举一般是现实生活中问题的“直译”,易于理解比较直观,其次枚举类型则可以将一个类型限制在可控制的范围内。而结构呢?结构使处理不同的数据类型的集合变的简单,比如登记100个学生的信息。
比如定义学生信息的结构如下: 初始化赋值注意事项以后再学习
public struct MyStruct //我的学生
{
public string Name; //名字
public string MobilePhone; //移动电话
public DateTime Birthday; //生日
}
再声明张飞的信息如下,那声明100个学生的信息就简单了。
MyStruct P1;
P1.Name = "张飞";
P1.MobilePhone = "";
P1.Birthday = DateTime.Now.AddYears(-);
结构变量可以赋值给相同结构变量,将同时复制该结构变量所持有的所有数据,如下再声明个学生信息变量代码如下,P2将的到P1的所有的数据类型。
MyStruct P1;
MyStruct P2;
P1.Name = "张飞";
P1.MobilePhone = "";
P1.Birthday = DateTime.Now.AddYears(-);
//将p1的值赋给p2 //由于是值类型,因此赋值等于将全部值全部复制到p2的栈空间
P2 = P1;
c#之初识结构(Struct)的更多相关文章
- objective-C学习笔记(二)类 class 和 结构 struct
Objective-C的类型 引用类型 类 class 指针 pointer 块 block 值类型 基础数值类型 结构 struct 枚举 enum 类型装饰 协议 protocol 类别 cate ...
- go语言中结构struct
package main; import "fmt" //结构struct //定义Person结构 type Person struct { name string; age i ...
- 【转】结构struct 联合Union和枚举Enum的细节讨论
结构struct 联合Union和枚举Enum的细节讨论 联合(Union)是一种构造数据类型,它提供了一种使不同类型数据类型成员之间共享存储空间的方法,同时可以实现不同类型数据成员之间的自动类型转换 ...
- 【Golang】Go 通过结构(struct) 实现接口(interface)
一.通过结构(struct) 实现 接口(interface) 1.在了解iris框架的时候,经常看到有这样去写的使用一个空结构体作为接收器,来调用方法,有点好奇这样做有什么意义. 解释:在 Go 语 ...
- 结构struct
1.结构变量 1)定义结构类型 struct student { char *name; int age; int score[3]; }; 2)定义结构变量 struct student stu1, ...
- .NET中类(class)与结构(struct)
结构是值类型:值类型在栈上分配空间: 类是引用类型:引用类型在堆栈上分配空间: 虽然结构与类的类型不一样,可是他们的基类型都是对象(object),c#中所有类型的基类型都是object: 虽然 ...
- 详说C#中的结构struct
一.结构和类的区别 1.结构的级别和类一致,写在命名空间下面,可以定义字段.属性.方法.构造方法也可以通过关键字new创建对象. 2.结构中的字段不能赋初始值. 3.无参数的构造函数无论如何C#编译器 ...
- go基础系列:结构struct
Go语言不是一门面向对象的语言,没有对象和继承,也没有面向对象的多态.重写相关特性. Go所拥有的是数据结构,它可以关联方法.Go也支持简单但高效的组合(Composition),请搜索面向对象和组合 ...
- c# 结构 struct
结构是使用 struct 关键字定义的,与类相似,都表示可以包含数据成员和函数成员的数据结构. 一般情况下,我们很少使用结构,而且很多人也并不建议使用结构,但作为.NET Framework 一般型別 ...
随机推荐
- 027-PHP编码和解码函数base64
<?php $data = "我爱PHP";//解码前的值 print("我爱PHP: " . base64_encode($data)); //进行解码 ...
- Golang modules包依赖管理工具
初始化 执行go mod init module-name,其中module-name为包名字,执行完后会生成go.mod文件,如下 module module-name go 1.13 包管理 使 ...
- Essay引用如何最大限度的降低抄袭率
今天要说到让无数人恨得要死.为了降重改的哭天喊地的“Paraphrase”.毕竟引用不是打两个引号复制粘贴就能凑字数完事的,无论国内外,都有查重率这个大敌在等着你.想要引用别人的论点论据,就少不了需要 ...
- apache flink源码挖坑 (未完待续)
Apache Flink 源码解读(一) By yyz940922原创 项目模块 (除去.git, .github, .idea, docs等): flink-annotations: flink ...
- 黑马oracle_day01:01.oracle体系结构
01.oracle体系结构 02.oracle的基本操作 03.oracle的查询 04.oracle对象 05.oracle编程 01.oracle体系结构 开发环境:VMware® Worksta ...
- 第十二篇视图层之视图函数(views)-三件套
视图层之视图函数(views) 阅读目录(Content) 视图层之视图函数(views) 一个简单的视图 HttpRequest HttpResponse redirect 函数 对比render与 ...
- Caffe Install by Cmake in Ubuntu 18.04
环境: Ubuntu 18.04 CUDA 10.0 cudnn opencv 3.0 见 https://www.cnblogs.com/xiaoniu-666/p/11907710.html -- ...
- 【LeetCode】最长回文子串-中心扩展法
[问题]给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 : 输入: "babad" 输出: "bab" 注意: ...
- BZOJ:3231: [Sdoi2008]递归数列
题解: 矩阵乘法,在矩阵中构造当前前缀和: 注意:for(int/long long ;;); #include<iostream> #include<cstdio> #inc ...
- 大二暑假第七周总结--开始学习Hadoop基础(六)
复习关于Hadoop的操作语句以及重点 Shell版 跳转目录到Hadoop: cd /usr/local/hadoop 启动Hadoop: ./sbin/start-dfs.sh 注意:Hadoop ...