您的位置:首页 > 编程语言 > C#

抛砖引玉:在C#中的对象引用的问题

2010-03-30 10:52 211 查看
public class Test

{

private string_Name;

public stringName

{

get{ return _Name; }

set{ _Name = value; }

}

}

public classTestMethod

{

public staticvoid Change(Testt)

{

t.Name = "狗狗";

}

public staticvoid Change(stringstr)

{

str = "狗狗";

}

}

public classTestFunction

{

public voidChange(Test t)

{

t.Name = "猪猪";

}

public voidChange(string str)

{

str = "猪猪";

}

}

static voidMain(string[] args)

{

Testt = new Test();

stringstr = "asd";

t.Name = "wolf";

TestMethod.Change(t);

TestMethod.Change(str);

Write(t.Name);

Write(str);

Testt1 = new Test();

t1 = t;

stringstr1 = str;

newTestFunction().Change(t1);

newTestFunction().Change(str);

Write(str1);

Write(t1.Name);

Console.ReadKey();

}

static voidWrite(string str)

{

Console.WriteLine(str);

}

What will output?

Yeah,the result is

狗狗

asd

asd

猪猪

Why this funny thing happen?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐