NUnit简单实践——Struct是存在堆中还栈中

本文通过测试案例对比了值类型(struct)与引用类型(object)在.NET中的行为差异。值类型存储于栈中,实例间即使值相等也不共享同一地址;而引用类型存储于堆中,实例间值相等则指向同一地址。文章通过具体代码演示了这一特性,并提供了深入理解.NET内存管理的视角。
摘要由CSDN通过智能技术生成

    [TestFixture]
    public class StructFixtrue
    {
        [Test]
        public void TestStruct()
        {
            DateTime a = DateTime.Now;
            DateTime b = a;
            Assert.AreEqual(a, b, "Two structs' value are equal.");
            Assert.AreNotSame(a, b, "Two structs' instance are not same.");

            Object c = new object();
            Object d = c;
            Assert.AreEqual(c, d, "Two objects' value are equal.");
            Assert.AreSame(c, d, "Two objects' instance are same.");
        }
    }

 

结论:Struct是存在栈中。

注:值类型保存在栈中,故等值不等址;引用类型保存在堆中,故等值等址。

转载于:https://www.cnblogs.com/SamZhang/archive/2007/07/11/814633.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值