最后一个很好理解啊TestRef(ref i) 这个操作后 i 变成b 这个是 引用的结果。而TestNoRef(i) 这个 只是传入了 i 的值 并不是 向上面的 传入了地址。 引用传递会改变对象本身,在传过去之后的任何操作 都是实际操作的这个传过去的这个参数本身。值传递 只是传入了这个对象的值。这个值传递一般都是说的是常见的普通变量类型。C#中大量的更多的是引用传递。因为常常要传入对象,这种就是引用传递。