C#教程
C#控制语句
C#函数
C#数组
C#面向对象
C#命名空间和异常
C#文件IO
C#集合
C#多线程
C#其它

C# 静态

C# static

在 C# 中,static 是属于类型而非实例的关键字或修饰符。所以实例不需要访问静态成员。在 C# 中,静态可以是字段、方法、构造函数、类、属性、运算符和事件。
注意: 索引器和析构器不能是静态的。

C#静态关键字的优点

内存效率: 现在我们不需要创建实例来访问静态成员,因此可以节省内存。而且它属于类型,所以每次创建实例时都不会得到内存。

C#静态字段

声明为静态的字段, 称为静态字段。与实例字段每次创建对象时都会获得内存不同,内存中只创建了一个静态字段的副本。它被所有对象共享。
它用于引用所有对象的公共属性,例如Account的rateOfInterest,Employee的companyName等

C#静态字段示例

来看看C#中静态字段的简单示例。
using System;
   public class Account
    {
        public int accno; 
        public String name;
        public static float rateOfInterest=8.8f;
        public Account(int accno, String name)
        {
            this.accno = accno;
            this.name = name;
        }
        
        public void display()
        {
            Console.WriteLine(accno + " " + name + " " + rateOfInterest);
        }
   }
   class TestAccount{
       public static void Main(string[] args)
        {
         Account a1 = new Account(101, "Sonoo");
            Account a2 = new Account(102, "Mahesh");
            a1.display();
            a2.display();
        }
    }
输出:
101 Sonoo 8.8
102 Mahesh 8.8

C#静态字段示例2: 更改静态字段

如果更改静态字段的值,它将应用于所有对象。
using System;
   public class Account
    {
        public int accno; 
        public String name;
        public static float rateOfInterest=8.8f;
        public Account(int accno, String name)
        {
            this.accno = accno;
            this.name = name;
        }
        
        public void display()
        {
            Console.WriteLine(accno + " " + name + " " + rateOfInterest);
        }
   }
   class TestAccount{
       public static void Main(string[] args)
        {
            Account.rateOfInterest = 10.5f;//changing value
            Account a1 = new Account(101, "Sonoo");
            Account a2 = new Account(102, "Mahesh");
            a1.display();
            a2.display();
        }
    }
输出:
101 Sonoo 10.5
102 Mahesh 10.5

C# 静态字段示例 3: 计数对象

让我们看另一个 C# 中静态关键字计数对象的示例。
using System;
   public class Account
    {
        public int accno; 
        public String name;
        public static int count=0;
        public Account(int accno, String name)
        {
            this.accno = accno;
            this.name = name;
            count++;
        }
        
        public void display()
        {
            Console.WriteLine(accno + " " + name);
        }
   }
   class TestAccount{
       public static void Main(string[] args)
        {
            Account a1 = new Account(101, "Sonoo");
            Account a2 = new Account(102, "Mahesh");
            Account a3 = new Account(103, "Ajeet");
            a1.display();
            a2.display();
            a3.display();
            Console.WriteLine("Total Objects are: "+Account.count);
        }
    }
输出:
101 Sonoo 
102 Mahesh 
103 Ajeet
Total Objects are: 3
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4