遗忘掉的基础(一)

1 using System;
2  using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 namespace ObjectDemo
7 {
8 class Program
9 {
10 static void Main(string[] args)
11 {
12 Person person = new Person { age = 10, Name = "wuxiaoqian" };
13 Console.WriteLine("Age={0},Name={1}",person.age,person.Name);
14 Console.WriteLine("调用函数之后");
15 TestMethod(ref person);
16 Console.WriteLine("Age={0},Name={1}", person.age, person.Name);
17 }
18
19 //引用类型的值传递:这里会将person的地址复制,传递给函数,也就是两个指针指向同一个地址。
20 static void TestMethod(Person person)
21 {
22 person.age = 23;
23 person.Name = "hehe";
24 person = new Person();
25 }
26
27 //引用类型的引用传递:这里传递的是person在堆栈上面指向person分配的堆的地址。
28 static void TestMethod(ref Person person)
29 {
30 person.age = 23;
31 person.Name = "hehe";
32 person = new Person();
33 }
34 }
35
36 class Person
37 {
38 public int age { get; set; }
39 public string Name { get; set; }
40 }
41 }

运行后截图:

posted @ 2011-02-25 17:06  雁北飞  阅读(142)  评论(0编辑  收藏  举报