当前位置: 首页 > news >正文

C#初级——结构体

结构体

结构体是值类型的数据结构,用于组织和存储相关数据,可以存储各种数据类型的相关数据。

结构体定义

struct  结构体名
{
        访问类型 数据类型 数据名1;
        访问类型 数据类型 数据名2;

        ……
}

        struct Vector2{public int row;public int col;}

创建对象

结构体 对象名1 = new 结构体();

或者  结构体 对象名2 = 对象名1;

结构体数据使用

对象名.数据名

示例

结构体不仅可以通过 new 的方法得到一个新的对象,还能直接将旧的对象赋值给新的对象,新的对象不仅会有旧的对象的数据结构还有相关的数据信息。 

        struct Vector2{public int row;public int col;}static void Main(string[] args){Vector2 pos = new Vector2();pos.row = 5;pos.col = 6;Vector2 pos1 = pos;Console.Write(pos1.row);pos1.row = 1;Console.Write(pos.row);Console.Write(pos1.row);Console.ReadKey();}

结构体与类的不同 

在上述代码中,改变其中一个对象中的值的时候,会发现两者的数据其实是互不干扰的,原因是结构是值类型的数据结构,在赋值新的对象的时候实际上是拷贝了一份新的数据和结构,与类不同,类是引用类型,类是引用了同一块数据,所以结构体之间的数据是不会互相干扰的。

相关文章:

  • Linux中的三类读写函数
  • Cannot perform upm operation: connect ETIMEDOUT 34.36.199.114:443 [NotFound]
  • Android 13 大屏显示时关于SystemUI和Launcher3问题
  • 记录unraid docker更新的域名
  • 万物互联,触手可及“2024南京智慧城市,物联网,大数据展会”
  • Elasticsearch:Golang ECS 日志记录 - zap
  • Sokit(TCP/UDP调试工具)
  • 均匀圆形阵列原理及MATLAB仿真
  • Spring Boot集成Redis与Lua脚本:构建高效的分布式多规则限流系统
  • 人工智能与机器学习原理精解【5】
  • 如何查看cpu架构,查看CPU架构的方法
  • Pytorch深度学习实践(10)循环神经网络RNN
  • 昇思25天学习打卡营第24天|RNN实现情感分类
  • 黑马JavaWeb企业级开发(知识清单)03——HTML实现正文:排版(音视频、换行、段落)、布局标签(div、span)、盒子模型
  • .mp4格式的视频为何不能通过video标签在chrome浏览器中播放?
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • 【知识碎片】第三方登录弹窗效果
  • css布局,左右固定中间自适应实现
  • Docker下部署自己的LNMP工作环境
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • HTTP中的ETag在移动客户端的应用
  • If…else
  • Invalidate和postInvalidate的区别
  • Java 最常见的 200+ 面试题:面试必备
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 全栈开发——Linux
  • 如何实现 font-size 的响应式
  • 微服务框架lagom
  • 新版博客前端前瞻
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • 栈实现走出迷宫(C++)
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • #define 用法
  • #QT(智能家居界面-界面切换)
  • ${factoryList }后面有空格不影响
  • (02)Hive SQL编译成MapReduce任务的过程
  • (6)STL算法之转换
  • (笔试题)分解质因式
  • (纯JS)图片裁剪
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (南京观海微电子)——I3C协议介绍
  • (转)Linux下编译安装log4cxx
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • .Net Core 微服务之Consul(二)-集群搭建
  • .Net Redis的秒杀Dome和异步执行
  • .Net Remoting常用部署结构
  • .vimrc php,修改home目录下的.vimrc文件,vim配置php高亮显示
  • /bin/rm: 参数列表过长"的解决办法
  • @取消转义
  • [ 环境搭建篇 ] 安装 java 环境并配置环境变量(附 JDK1.8 安装包)