如何在函数调用时不改变对象的值

本文关键字:改变 对象 函数调用 | 更新日期: 2023-09-27 17:49:35

我有一个对象的属性叫做CountItem

Object.CountItem 

它的值是0

当我调用以下函数时:

DoSomeThing(Object, out Count);
 // -> public object DoSomeThing(ObjectClass Object, out int Count)

在函数中,我改变了Object.CountItem = 2;

函数运行后,我的对象的值发生了变化,现在Object.CountItem2

我不明白为什么我的变量不是out var已经改变了值?

如何在函数调用时不改变对象的值

您的对象是引用类型,在任何方法中更改它都会更改对象。Out适用于值类型对象(如int, bool等)

您需要在离开方法作用域之前为out参数赋值