结构体与类的赋值区别及用Equals和==比较它们相同数据的结果[游戏开发前的准备2]

本文探讨了C#中结构体和类在赋值操作上的区别,指出当引用变量赋值后,结构体与类的值是否同步变化。同时,解释了在使用Equals()和==进行相同值比较时,类与结构体得到的不同结果。
摘要由CSDN通过智能技术生成

C#里的结构体与类有非常大的相似之处,在实际使用时只有class和struct的区别。所以我列出了关于它们的不同之处,以及在不同情况下的比较:
1.当引用1=引用2时结构体与类存在差异,因为在此后更改值1的值后值2对于类会发生改变,而结构体不会;
2.当为引用1与引用2被分别赋予相同值时,类用Equals()或==作比较结果不相等,而结构体作比较是相等的。

namespace _19结构体与类
{
    class personclass
    {
        public string action;
        public personclass(string action)
        {
            this.action = action;
        }
    }
    class intclass
    {
        public int n;
        public intclass(int n)
        {
            this.n = n;
        }
    }
    struct personstruct
    {
        public string action;
        public personstruct(string action)
        {
            this.action = action;
        }
    }
    internal class Program
    {
        static void Main(string[] args)
        {
            personclass pa1 = new personclass("madess1");
            personclass pa2 = new personclass("cult1"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值