namespace ConsoleApp1
{classProgram{staticvoidMain(string[] args){int y =1;IWantSideEffect(ref y);// 101
Console.WriteLine(y);}staticvoidIWantSideEffect(refint x){
x = x +100;}}}
引用类型的引用参数
namespace ConsoleApp1
{classProgram{staticvoidMain(string[] args){Student student =newStudent(){ Name ="LL"};// 46104728
Console.WriteLine(student.GetHashCode());IWantSideEffect(ref student);// 12289376
Console.WriteLine(student.GetHashCode());// Tom
Console.WriteLine(student.Name);}staticvoidIWantSideEffect(refStudent student){
student =newStudent(){ Name ="Tom"};//12289376
Console.WriteLine(student.GetHashCode());}}classStudent{publicstring Name {get;set;}}}
引用类型的引用参数2
namespace ConsoleApp1
{classProgram{staticvoidMain(string[] args){Student student =newStudent(){ Name ="LL"};// 46104728
Console.WriteLine(student.GetHashCode());IWantSideEffect(ref student);// 46104728
Console.WriteLine(student.GetHashCode());// Tom
Console.WriteLine(student.Name);}staticvoidIWantSideEffect(refStudent student){
student.Name ="Tom";// 46104728
Console.WriteLine(student.GetHashCode());}}classStudent{publicstring Name {get;set;}}}
引用类型的引用参数3
namespace ConsoleApp1
{classProgram{staticvoidMain(string[] args){Student student =newStudent(){ Name ="LL"};// 46104728
Console.WriteLine(student.GetHashCode());IWantSideEffect(student);// 46104728
Console.WriteLine(student.GetHashCode());// Tom
Console.WriteLine(student.Name);}staticvoidIWantSideEffect(Student student){
student.Name ="Tom";// 46104728
Console.WriteLine(student.GetHashCode());}}classStudent{publicstring Name {get;set;}}}