传值参数 -> 值类型
传值参数 -> 引用类型,并且新创建对象
这种状况很少见,一般情况都是传进来引用它的值,而不是连接到新对象去(基本只有面试题会考这个)。
注:当参数类型为 string 时,在方法内部修改参数的值,对应的是此处创建对象这种情况。 因为 string 是 immutable 的,所以在方法内部对 string 赋值实际是“创建新的 string 实例再赋值”,最终方法外部的 string 并不会改变。
GetHashCode()
Object.GetHashCode() 方法,用于获取当前对象的哈希代码,每个对象的 Hash Code 都不一样。
通过 Hash Code 来区分两个 Name 相同的 stu 对象
static void Main(string[] args){Student s = new Student(){Name = "Tim"};SomeMethod(s);Console.WriteLine("{0},{1}", s.GetHashCode(), s.Name);}static void SomeMethod(Student stu){stu = new Student(){Name = "Tim"};Console.WriteLine("{0},{1}", stu.GetHashCode(), stu.Name);}}class Student{public string Name{get;set;}}
引用参数 -> 引用类型,不创建新对象只改变对象值






