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

相关推荐
带土15 分钟前
4. C++ static关键字
开发语言·c++
C++ 老炮儿的技术栈12 分钟前
什么是通信规约
开发语言·数据结构·c++·windows·算法·安全·链表
@大迁世界15 分钟前
TypeScript 的本质并非类型,而是信任
开发语言·前端·javascript·typescript·ecmascript
栗子叶21 分钟前
Java对象创建的过程
java·开发语言·jvm
Amumu1213829 分钟前
React面向组件编程
开发语言·前端·javascript
IT=>小脑虎30 分钟前
Python零基础衔接进阶知识点【详解版】
开发语言·人工智能·python
wjs202433 分钟前
C 标准库 - `<float.h>》详解
开发语言
zfj32140 分钟前
CyclicBarrier、CountDownLatch、Semaphore 各自的作用和用法区别
java·开发语言·countdownlatch·semaphore·cyclicbarrier
张np1 小时前
java基础-ConcurrentHashMap
java·开发语言
早日退休!!!1 小时前
进程与线程的上下文加载_保存及内存映射
开发语言