在C#中,static關鍵字有以下幾種用法:
靜態類(static class):使用static關鍵字來定義一個靜態類。靜態類只能包含靜態成員(方法、屬性、字段等),不能被實例化,也無法繼承其他類。靜態類通常用于提供一組相關的工具方法或者全局訪問點。
靜態成員(static member):使用static關鍵字來定義一個靜態成員(方法、屬性、字段等)。靜態成員屬于類而不是實例,可以通過類名直接訪問,而不需要創建類的實例。靜態成員在內存中只有一份拷貝,不會因為創建多個實例而重復分配內存。
靜態構造函數(static constructor):使用static關鍵字來定義一個靜態構造函數。靜態構造函數在類第一次被使用之前自動調用,用于初始化靜態成員。靜態構造函數沒有參數,也不能被直接調用,只能在運行時由CLR自動調用。
靜態屬性(static property):使用static關鍵字來定義一個靜態屬性。靜態屬性屬于類而不是實例,可以通過類名直接訪問,而不需要創建類的實例。靜態屬性可以提供類級別的訪問控制和計算邏輯。
靜態字段(static field):使用static關鍵字來定義一個靜態字段。靜態字段屬于類而不是實例,可以通過類名直接訪問,而不需要創建類的實例。靜態字段在內存中只有一份拷貝,不會因為創建多個實例而重復分配內存。靜態字段可以用于保存類級別的狀態信息。
總的來說,static關鍵字用于指示某個成員或者類屬于類級別而不是實例級別,并且可以通過類名直接訪問。