C# static静态

【C# static静态】在C#中,static是属于类型而不是实例的关键字或修饰符。因此,不需要实例来访问静态成员。在C#中,static可以是字段,方法,构造函数,类,属性,运算符和事件。
注意:索引器和析构函数不能为静态。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#中static关键字的另一个示例,该示例对对象进行计数。
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

    推荐阅读