c# - 类中的结构是否作为值传递?

标签 c# .net

我有:

一个结构

struct Data { int a; int b; }

包含结构的类

class Packet {
    Data DataStruct;
}

当我现在实例化我的类时,我假设该结构存在于堆上。 如果我现在做类似的事情

SomeClass.Process(new Packet().DataStruct);
SomeClass.Process(new Packet().DataStruct.a);

它会作为值传递吗?

如果不是,是否有任何理由不将该结构改为类?

最佳答案

struct 是值类型,因此它将作为 value 传递。 引用类型。

除非指定了 outref,否则一切都将作为 value 传递。

关于c# - 类中的结构是否作为值传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5015004/

相关文章:

c# - c1.flexgrid 多选行

c# - INotifyPropertyChanged 订阅 self

c# - 如何从 URL 获取 JSON 字符串?

c# - 如何在 C# 中使用 PInvoke 强制对 dll 函数进行参数计数

c# - C#字符串的$修饰符是什么

c# - 仅从 DateTime 对象获取日期或时间

.net - 将对象列表绑定(bind)到网格而不是数据表有什么好处? (。网)

c# - 字符串到 float 的转换 - 小数点分隔符

c# - Bot 框架实现自定义连接器 "client.Conversations.GetActivities(conversationId, watermark)"返回多个事件

c# - Visual Studio 2015 社区 - 正则表达式查找和替换