《随笔五》——C#中的 —— “ 静态成员的生存期 、静态成员函数、成员常量”

本文详细探讨了C#中的静态成员,包括静态成员的生命期,静态成员函数的使用,以及成员常量的特性。指出静态成员不依赖于类的实例,静态构造函数只调用一次,静态成员函数可以直接访问静态数据成员。在C#中,常量成员虽然表现得像静态量,但不能声明为static,而C++则允许静态常量成员数据的存在。
摘要由CSDN通过智能技术生成

目录

静态成员的生命期

静态成员函数

成员常量

常量与静态量


先看一个静态字段的示例:

namespace Ch05Ex03
{
    class Persion
    {
        int Mem1;
        static int Mem2; //私有静态成员
        static Persion()
        {
            Mem2 = 900;
            //Mem1 = 200; //不可以在静态构造函数中初始化 非静态字段
            WriteLine("静态构造函数被调用!\n");
        }
        public Persion(int aa,int bb)
        {
            Mem1 = aa;
            Mem2 = bb; //利用构造函数设置私有静态成员
            WriteLine("\n实例构造函数被调用!\n");
        }
        public void SetVars(int v1,int v2)
        {
            Mem1 = v1;
            Mem2 = v2;
        }
        public void Display(string str)
        {
            WriteLine($"{str}: Mem1的值:{Mem1}, Mem2的值:{Mem2}");
        }
    }
    
    class Program
    {
        static void Main(string[] args)
        {
            Persion d1 = new Persion(2, 8);  //利用公有构造函数设置静态字段和普通字段的值
            d1.Display("d1");
            Persion d2 = new Persion(5, 77);
            d2.Display("d2");

            WriteLine();
            d1.SetVars(7, 22); //利用公有成员函数设置静态字段和普通字段的值
            d1.Display("d1");
            
            d2.SetVars(99, 100);
            d2.Display("d2");
            d1.Display("d1"); //这里再次输出d1的值,输出就是 7,100,因为它被d2 改变了

            // 注意下面的代码:
            Persion d3 = new Persion(141, 55), d4 = new Persion(454, 666);

            /*该代码输出:
             * d3: Mem
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值