C#基础:static静态关键字代码示例

本文详细介绍了C#中静态关键字的使用,包括静态字段、静态方法、静态类以及静态构造函数的应用示例,展示了如何通过类名而非实例访问和操作这些特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍

在C#中,static关键字用于定义静态成员,这些成员属于类本身而不是类的实例。以下是一些使用static的关键字的代码示例:

  1. 静态字段(变量)示例:
public class Counter
{
    public static int TotalCount; // 静态字段

    public static void Increment()
    {
        TotalCount++;
    }
}

// 使用:
Counter.Increment();
Console.WriteLine(Counter.TotalCount); // 打印当前计数

在这个例子中,TotalCount是一个静态字段,它不依赖于类的任何实例。你可以直接通过类名访问和修改它。

  1. 静态方法示例:
public class MathHelper
{
    public static double CalculateSquare(double number)
    {
        return number * number;
    }
}

// 使用:
double result = MathHelper.CalculateSquare(5);
Console.WriteLine(result); // 输出 25

这里的CalculateSquare是一个静态方法,不需要创建MathHelper类的实例就能调用。

  1. 静态类示例:
    • 整个类可以声明为静态,其中所有成员也必须是静态的。
public static class Constants
{
    public const double PI = 3.14159265358979323846;
    public static readonly string CompanyName = "Example Inc.";
}

// 使用:
Console.WriteLine(Constants.PI);
Console.WriteLine(Constants.CompanyName);

静态类不能被实例化,只能包含静态成员,并且通常用于存储常量或提供工具方法。

  1. 静态构造函数示例
    • 静态构造函数在类首次加载时自动执行,仅执行一次。
public class MyClass
{
    public static int InitialValue;

    static MyClass()
    {
        InitialValue = GenerateRandomNumber();
        Console.WriteLine($"Initial value set to: {InitialValue}");
    }

    private static int GenerateRandomNumber()
    {
        Random random = new Random();
        return random.Next(1, 100);
    }
}

// 使用:
Console.WriteLine(MyClass.InitialValue);

当类MyClass首次被引用时,静态构造函数会被执行,设置并打印出初始值。

完整代码示例

using System;

namespace HelloworldCS
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 使用:
            Counter.Increment();
            Console.WriteLine(Counter.TotalCount); // 打印当前计数

            // 使用:
            double result = MathHelper.CalculateSquare(5);
            Console.WriteLine(result); // 输出 25

            // 使用:
            Console.WriteLine(Constants.PI);
            Console.WriteLine(Constants.CompanyName);

            // 使用:
            Console.WriteLine(MyClass.InitialValue);

            Console.ReadKey();
        }
    }

    public class MyClass
    {
        public static int InitialValue;

        static MyClass()
        {
            InitialValue = GenerateRandomNumber();
            Console.WriteLine($"Initial value set to: {InitialValue}");
        }

        private static int GenerateRandomNumber()
        {
            Random random = new Random();
            return random.Next(1, 100);
        }
    }

    public static class Constants
    {
        public const double PI = 3.14159265358979323846;
        public static readonly string CompanyName = "Example Inc.";
    }

    public class MathHelper
    {
        public static double CalculateSquare(double number)
        {
            return number * number;
        }
    }

    public class Counter
    {
        public static int TotalCount; // 静态字段

        public static void Increment()
        {
            TotalCount++;
        }
    }

}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学亮编程手记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值