传值参数
传值参数也叫值参数,声明的时候不加任何修饰符的形参就是传值形参。可以理解为形参是声明的变量,不过这个变量的初始化是在调用这个方法时所输入的实参
值类型的传值参数
当你把一个值作为实参放进方法的参数列表时,是产生这个值的副本(在内存中新创建一块存储空间),而用这个副本来参与方法体中的运算。因为实际参数和副本(传值形参)所指向的内存位置不同,所以副本与实际参数之间互不影响
class Program
{
static void Main(string[] args)
{
int y =100;
GetAddValue(y);
}
static void GetAddValue(int x)
{
Console.WriteLine(++x);
}
}
//对y赋值为100,把y放进参数列表中。产生一个y的副本,而无论这个副本经过运算之后所得到的值是多少都与y无关,y不会因此改变。```考试,一个学生往旁边学生瞄了一眼看到选择题选b,这个学生也把b抄上去,但后面他越想越不对他觉得这道题应该选a。于是他把b划掉写上a,而旁边学生的答案不会因为这个学生的“运算”而改变```
引用类型的传值参数
引用变量作为实参时,也是产生这个变量的副本,传入方法运算的也是这个副本。哪怕这个副本引用新的实例,变量的数据也不会改变。
因为副本与变量存储的数据是同一个实例的内存地址,所以如果副本改变实例的某些数据,那么变量所引用的实例也是被副本修改了数据的实例。
一般情况下,修改参数所引用的对象的值的操作叫做某个方