C#Struct堆栈

Struct若其内部含有堆对象,Struct的该对象放在堆上;

Struct当做参数传递时,其堆属性作为引用传递,值属性还是作为值传递;

struct TS

{

public int[] t1;

public int t2;

}

public void TF1(TS t)

{

int[] t1 = t.t1;

t1[0] = 2;

t.t2 = 20;

}

public void Main()

{

TS ts = new TS();

ts.t1 = new int[1];

ts.t1[0] = 1;

ts.t2 = 2;

TF1(ts);

Console.WriteLine(ts.t1[0]);

Console.WriteLine(ts.t2);

}

输出:

2

2

相关推荐
常利兵27 分钟前
Kotlin作用域函数全解:run/with/apply/let/also与this/it的魔法对决
android·开发语言·kotlin
幼稚园的山代王40 分钟前
Kotlin-基础语法练习一
android·开发语言·kotlin
重生成为编程大王1 小时前
Java ConcurrentHashMap 深度解析
java·开发语言
tanyongxi661 小时前
C++ 特殊类设计与单例模式解析
java·开发语言·数据结构·c++·算法·单例模式
遗憾皆是温柔1 小时前
24. 什么是不可变对象,好处是什么
java·开发语言·面试·学习方法
wearegogog1232 小时前
C语言中的输入输出函数:构建程序交互的基石
c语言·开发语言·交互
Fine姐2 小时前
The Network Link Layer: 无线传感器中Delay Tolerant Networks – DTNs 延迟容忍网络
开发语言·网络·php·硬件架构
HAPPY酷2 小时前
给纯小白的Python操作 PDF 笔记
开发语言·python·pdf
liulilittle2 小时前
BFS寻路算法解析与实现
开发语言·c++·算法·宽度优先·寻路算法·寻路
阿珊和她的猫3 小时前
autofit.js: 自动调整HTML元素大小的JavaScript库
开发语言·javascript·html