C# 结构(对结构赋值)

对结构赋值

把一个结构赋值给另一个结构,就是将一个结构的值复制给另一个结构。这和复制类变量不
同,复制类变量时只复制引用。
图11-2展示了类变量赋值和结构变量赋值之间的区别。注意,在类赋值之后,cs2和cs1指
向堆中同一对象。但在结构赋值之后,ss2的成员的值和ss1的相同。

class CSimple
{
    public int X;
    public int Y;

    struct Simple
    {
        public int X;
        public int Y;

        class Program
        {
            static void Main()
            {
                CSimple cs1=new CSimple(),cs2=nu;    //类实例
                Simple ss1=new Simple(),ss2=new Simple; //结构实例

                cs1.X=ss1.X=5;      //将5赋值给ss1.X和cs1.X
                cs1.Y=ss1.Y=10;     //将10赋值给ss1.Y和cs1.Y

                cs2=cs1;            //赋值类实例
                ss2=ss1;            //赋值结构实例
            }
        }
    }
}

此时ssl和ss2是指向一个实例的,使用ss1.Equals(ss2)返回的是
true,使用s1.GetHashCode比较也是一样的。

你可能感兴趣的:(C#,图解教程,c#,开发语言)