C#初级——结构体

结构体

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

结构体定义

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

......
}

cs 复制代码
        struct Vector2
        {
            public int row;
            public int col;
        }

创建对象

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

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

结构体数据使用

对象名.数据名

示例

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

cs 复制代码
        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();
        }

结构体与类的不同

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

相关推荐
pnoker18 分钟前
从工业软件到 AI 智能体:工业 AIoT 技术路线的系统梳理
java·人工智能·物联网·microsoft·开源·工业互联网
传奇开心果编程22 分钟前
【Rust入门知识点学与练】第5课:函数
开发语言·学习·rust
秋田君25 分钟前
Qt_QMediaPlayer类与QMediaPlaylist类
开发语言·qt
专注仿真27 分钟前
Vapor框架构建及Swift for TensorFlow图像分析
java·其他
逃逸线LOF28 分钟前
Spring的AOP简介
java·后端·spring
统计学小王子32 分钟前
数学建模国赛倒计时6天——《软件工具(R语言精讲)》
开发语言·数学建模·r语言
砚底藏山河33 分钟前
【量化纯GET实战 #21】用 pandas 做分析:把接口数据变成 DataFrame
java·python·金融·maven·pandas
C++ 老炮儿的技术栈34 分钟前
Qt5 使用 QPainter 绘制阿基米德螺线
开发语言·c++·windows·qt·代码化
EasyGBS42 分钟前
从接入到稳定播放:无插件直播H5视频流媒体播放器EasyPlayer.js如何撑起Web端流媒体
开发语言·前端·javascript
FfHUCisI44 分钟前
GMP 调度器:Go 并发的心脏是如何跳动的
开发语言·golang·php