ref、out和params
方法的参数一般没有修饰符,意思是以传值的方式传参。如果参数在方法内部发生改变,在方法外部该参数不会随之改变。
ref:传地址的方式传参,参数在方法内外是指向同一内存地址,如果在方法中改变了参数的值,则参数在方法外部也随之改变。
例如:
string i = 1;//参数原值
string j = 2;//参数原值
swap(ref i,ref j);//在方法内部交换位置
>i = 2, j = 1;//原值发生了改变(如果没有修饰符,则>i = 1, j = 2,原值不会发生改变)
out:意思同上,但不知道具体什么意思。
params:数组参数。例如:PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransation, CommandType cmdType,CommandText cmdText, params SqlParameter[] params){}
ref:传地址的方式传参,参数在方法内外是指向同一内存地址,如果在方法中改变了参数的值,则参数在方法外部也随之改变。
例如:
string i = 1;//参数原值
string j = 2;//参数原值
swap(ref i,ref j);//在方法内部交换位置
>i = 2, j = 1;//原值发生了改变(如果没有修饰符,则>i = 1, j = 2,原值不会发生改变)
out:意思同上,但不知道具体什么意思。
params:数组参数。例如:PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransation, CommandType cmdType,CommandText cmdText, params SqlParameter[] params){}