| 
 
| 本帖最后由 weiwei10153 于 2014-2-27 19:13 编辑 
 求高手指导一下 ,代码在下面
 本人最近刚学基础知识
 第一个我知道输出18,但第二个为什么输出20?
 ref不就是修饰的是引用类型吗?为什么加了ref输出结果不一致?
 
 class Program
 {
 static void Main(string[] args)
 {
 Person p1 = new Person() { Age = 18 };
 Test1(p1);
 Console.WriteLine(p1.Age);           //18
 Test2(ref p1);
 Console.WriteLine(p1.Age);           //20    这个为什么是20 ?
 Console.ReadKey();
 }
 
 static void Test1(Person p)
 {
 p = new Person() { Age = 20 };
 }
 
 static void Test2(ref Person p)
 {
 p = new Person() { Age = 20 };
 }
 }
 
 class Person
 {
 public int Age { get; set; }
 }
 
 明白了,多谢!
 
 | 
 
1.png
(133.44 KB, 下载次数: 43)
 
 |