在C#中,你给一个方法传输值类型参数时,实际上是使用的这个参数的一个副本,就是将原来的变量复制一份,然后传给一个方法,让其进行操作.所以在方法内部对参数的修改等不会对原来的参数造成影响(这个其实就是值类型和引用类型的区别).但是有些时候,又需要这种影响.ref的作用就是这个.它将变量本身而不是副本传给方法,所以对参数的修改原来变量的值.ref需要在传入前赋值,out不需要.ref不需要关心函数体中发生了什么,函数体对ref透明.而out却不是,在函数体中不能将没有赋值的out参数赋值给其他成员,…