我有:
一个结构
struct Data { int a; int b; }
包含结构的类
class Packet {
Data DataStruct;
}
当我现在实例化我的类时,我假设该结构存在于堆上。 如果我现在做类似的事情
SomeClass.Process(new Packet().DataStruct);
SomeClass.Process(new Packet().DataStruct.a);
它会作为值传递吗?
如果不是,是否有任何理由不将该结构改为类?
最佳答案
struct
是值类型,因此它将作为 value
传递。 类
是引用
类型。
除非指定了 out
或 ref
,否则一切都将作为 value
传递。
关于c# - 类中的结构是否作为值传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5015004/