c#中几个不明白!大家快来解答!
using System;
class primitive
{
public bool b;
}
public class DefaultValue2
{
primitive p = new primitive();
int i;
public static void Main()
{
DefaultValue2 D = new DefaultValue2();
DefaultValue2 P = new DefaultValue2();
Console.WriteLine("D after creation = {0}", D);
Console.WriteLine("P after creation = {0}", P);
Console.WriteLine("num of D1 = {0}", D.i);
Console.WriteLine("num of P1 = {0}", P.i);
D.i = 2;
Console.WriteLine("num of D2 = {0}", D.i);
Console.WriteLine("num of P1 = {0}", P.i);
Console.WriteLine("p after creation = {0}", D.p);
primitive d = new primitive();
Console.WriteLine("d after creation = {0}", d);
Console.WriteLine("bool of d1 = {0}", d.b);
Console.WriteLine("bool of p1 = {0}",D.p.b);
d.b = true;
Console.WriteLine("bool of d2 = {0}", d.b);
Console.WriteLine("bool of p2 = {0}", D.p.b);
}
}
Console.WriteLine("D after creation = {0}", D);
Console.WriteLine("P after creation = {0}", P);
解释下为什么这两句的运行结果是:DefaultValue2
d.b = true;
Console.WriteLine("bool of d2 = {0}", d.b);
Console.WriteLine("bool of p2 = {0}", D.p.b);
这句中d.b都赋值true了怎么用D.p.b调用又成False了???
问题很弱@ 望大家不吝赐教!!! 万分感激啊~