Tag: 传值

通过引用和值传递对象

在深入研究设计课程之前,我只想检查一下我对C#处理事物的方式的理解。 我目前的理解是: Struct是一种值类型,这意味着它实际上包含在其中定义的数据成员。 Class是引用类型,意味着它包含对其中定义的数据成员的引用。 方法签名按值传递参数,这意味着将值的副本传递给方法内部,这使得大型数组和数据结构的代价很高。 使用ref或out关键字定义参数的方法签名将通过引用传递参数,这意味着提供指向对象的指针。 我不明白的是当我调用一个方法时会发生什么,实际发生了什么。 是否会调用new()? 它只是自动复制数据吗? 或者它实际上只是指向原始对象? 使用ref和out如何影响这个?