代码如下:
class Client
{
public static void MainF()
{
papa pa = new papa();
Derived d = new Derived();
int m = 111;
d.p=pa;
Console.WriteLine(d.p.iq.ToString());
pa.iq = 0;
Console.WriteLine(d.p.iq.ToString());
d.mm = m;
Console.WriteLine(d.mm.ToString());
m = 50;
Console.WriteLine(d.mm.ToString());
}
}输出为:
100
0
111
111ps:为什么一般变量就不会受外部影响? class papa
{
private int _iq = 100;
public int iq
{
get { return _iq; }
set { _iq = value; }
}
} class Derived
{
private int m = 10;
private papa pq;
public papa p
{
get { return pq; }
set { pq = value; }
}
public int mm
{
set { m = value; }
get { return m; }
}
}
class Client
{
public static void MainF()
{
papa pa = new papa();
Derived d = new Derived();
int m = 111;
d.p=pa;
Console.WriteLine(d.p.iq.ToString());
pa.iq = 0;
Console.WriteLine(d.p.iq.ToString());
d.mm = m;
Console.WriteLine(d.mm.ToString());
m = 50;
Console.WriteLine(d.mm.ToString());
}
}输出为:
100
0
111
111ps:为什么一般变量就不会受外部影响? class papa
{
private int _iq = 100;
public int iq
{
get { return _iq; }
set { _iq = value; }
}
} class Derived
{
private int m = 10;
private papa pq;
public papa p
{
get { return pq; }
set { pq = value; }
}
public int mm
{
set { m = value; }
get { return m; }
}
}
解决方案 »
- c#高级编程中如何自定义异常处理,如何运用
- 求字符串处理的js
- VS2005.net的System.Data.OracleClient.OracleCommand下没有ExecuteXmlReader?急!!
- 获取网页源码时出错:当前上下文中不存在名称“Encoding”
- 所见所得编辑控件限制字符长度
- tcp+多线程
- Access中,数据类型为"自动编号",新值为"随机"的时候,产生的值会出现复重吗?
- 有个问题,帮忙出出主义。
- 哪个大侠 .NETframework 3.5 的框架
- 在类中如何调用某按钮的单击事件??
- 如何实现当变量变为某个值时再执行某个操作
- 有段时间没来了这论坛的搜索功能改的不知怎么用了
Console.WriteLine(d.p.iq.ToString());
d.mm = m;
Console.WriteLine(d.mm.ToString());
m = 50;
sb = new StringBuilder(sb.ToString() + "abc");
}
static void Change2(StringBuilder sb) {
sb.Append("abc");
} /// <summary>
/// 应用程序的主入口点.
/// </summary>
public static void Main(string[] args) {
StringBuilder sb = new StringBuilder("str_");
Change1(sb);
Console.WriteLine(sb.ToString());
Change2(sb);
Console.WriteLine(sb.ToString());
}
}
这个……
pa.iq = 0;
但为什么我在外部改变这个对象的属性时,d.p里面的也会被改变?
pa.iq = 0;
但为什么我在外部改变这个对象的属性时,d.p里面的也会被改变?
但为什么一般变量的传递就不会?
d.mm = m;
m在外部的改变却不影响d的引用?请问如果我要在d里把p对象保存起来,该如何实现?
谢谢。