静态常量和动态常量

静态常量:编译器在编译时进行解析,并对其进行初始化;

动态常量:运行时进行初始化。

区别与联系:

 静态常量动态常量
初始化声明时初始化可以在构造方法中初始化
类型限制类型必须是值类型,且不能通过new来进行初始化没有限制
内存消耗只需要分配栈内存,不需要分配堆内存需要分配栈内存和堆内存
变量类型类成员变量类成员变量或实例成员变量

示例:

using System;

namespace ConstantTest
{
    class Program
    {
        public const int STATIC_CONTST = 10;
        public static readonly int RUNTIME_CLASS_CONST = 20;
        public readonly int RUNTIME_INSTANCE_CONST;

        public Program()
        {
            RUNTIME_INSTANCE_CONST = 30;
        }

        static void Main(string[] args)
        {
            Console.WriteLine("STATIC_CONTST: " + Program.STATIC_CONTST);
            Console.WriteLine("RUNTIME_CLASS_CONST: " + Program.RUNTIME_CLASS_CONST);
            Console.WriteLine("RUNTIME_INSTANCE_CONST: " + new Program().RUNTIME_INSTANCE_CONST);

            Console.WriteLine("Press any key to exit.");
            Console.ReadKey();
        }
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值