首頁 > 易卦

在.NET中,C#靜態類使用static定義,什麼是靜態?如何使用它?

作者:由 一都程式設計 發表于 易卦日期:2022-02-18

靜態成員怎麼賦值

C#核心開發-第11單元-類和物件-第5節:靜態類

在.NET中,C#靜態類使用static定義,什麼是靜態?如何使用它?

C#核心開發-類和物件

1。 基本概念

在。NET應用程式中,使用C#開發,少不了使用靜態類。首先理解清楚什麼是靜態,靜態是相對於例項的,前面我們講解的類,就是例項的類。例項的類,只需要使用class關鍵字定義即可,例項的類必須使用new關鍵字生成物件才可以使用。

那什麼是C#靜態的類呢?

我們可以這樣理解靜態,比如說我們建立了一個學生類,學生共同的特徵有姓名、身高、年齡等屬性資訊,這些屬性每個具體的學生都有,但值不同,有的21歲,有的22歲等,由於這些值不同,所以需要是例項的,也就是例項化成具體的物件,體現出不同的學生個體。

但這些學生有一個共同的屬性,且值也是相同的,如班級號,學校名稱。如果也將班級號、學校放在例項物件中,則會造成重複浪費,所有的學生個體中都有一個班級號,且值是相同的。

此時,為了解決這個浪費的問題,可以使用C#靜態來實現,將所有具體的物件具有共同屬性,且值也相同單獨拿出來,當成靜態的,這樣靜態的可供所有物件訪問,這樣就存在一個班級號即可,所有學生共享。

2。 定義

C#類也可以定義為靜態的,供所有其它的例項類使用。

C#靜態類的定義只需要在定義例項類時,新增static關鍵字即可,在VS2019中建立一個。NET控制檯應用程式,並編寫如下C#程式碼:

在.NET中,C#靜態類使用static定義,什麼是靜態?如何使用它?

圖1

在圖1中就定義了一個靜態類,靜態類無需例項化,直接使用類名就可以訪問其中的成員。

那C#中的靜態類可以包括哪些成員呢?

只要能包括在非靜態類中的成員,如屬性、欄位、建構函式、變數等,都可以在靜態類中出現。

只是靜態類,在使用時,不需要例項化,也就是不需要使用new關鍵字。如圖1的Common靜態類,我們新增一個屬性:

static class Common

{

public static string Name { get; set; }

}

在上面的C#程式碼中,給Common靜態類添加了一個靜態的Name屬性。

注意:靜態類中定義的所有成員,也必須是靜態的,所以也需要新增static關鍵字。

那如何呼叫Name屬性呢?我們在Main()方法中呼叫一下:

在.NET中,C#靜態類使用static定義,什麼是靜態?如何使用它?

圖1

在圖2中,我們只需要將靜態類的名稱打出來,然後在列表中就能發現其中的Name屬性:

class Program

{

static void Main(string[] args)

{

//賦值

Common。Name = “小強”;

//取值

string name = Common。Name;

//輸出

Console。WriteLine(name);

Console。ReadKey();

}

}

從此C#程式碼上看,我們並沒有使用new關鍵字例項化Common靜態類,而是直接使用類名打點呼叫的成員。這就是靜態類的基本使用。

在.NET中,C#靜態類使用static定義,什麼是靜態?如何使用它?

C#高階程式設計(第11版) C# 7 & 。NET Core 2。0(。NET開發經典名著)

檢視