国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
靜態(tài)成員
1.靜態(tài)數(shù)據(jù)成員
2.靜態(tài)方法
C# 中靜態(tài)類的示例
示例#2
靜態(tài)項的內(nèi)存分配
C# 中靜態(tài)類的優(yōu)點
結(jié)論
首頁 后端開發(fā) C#.Net教程 C# 中的靜態(tài)類

C# 中的靜態(tài)類

Sep 03, 2024 pm 03:32 PM
c# c# tutorial

靜態(tài)類是我們無法實例化的類。靜態(tài)類唯一且最重要的目標是交出繼承類的藍圖。它是在 C# 中的“static”關(guān)鍵字的幫助下創(chuàng)建的。靜態(tài)類僅包含靜態(tài)成員。我們無法為靜態(tài)類創(chuàng)建對象。在本主題中,我們將學習 C# 中的靜態(tài)類。

靜態(tài)成員

C# 中的靜態(tài)類由兩種靜態(tài)類型組成,如下所示:

1.靜態(tài)數(shù)據(jù)成員

靜態(tài)數(shù)據(jù)成員是通過使用 static 關(guān)鍵字來聲明的,因為靜態(tài)類始終包含靜態(tài)數(shù)據(jù)成員。也可以使用類名直接訪問它們。靜態(tài)數(shù)據(jù)成員的內(nèi)存是單獨分配的,無論其與對象的關(guān)系如何。

語法:

static class NameOfClass
{
public static name_of_datamember;
}

示例:

public class Vehicle
{
public static int Wheels = 4;
public static int GasTank
{
get
{
return 23;
}
}
public static void move() { }
public static event EventType RunOutOfGas;
// Extra non-static fields as well as properties
}

它們在第一次訪問靜態(tài)成員之前以及在調(diào)用靜態(tài)構(gòu)造函數(shù)之前初始化。為了訪問它,我們使用類的名稱而不是變量名稱。

2.靜態(tài)方法

使用 static 關(guān)鍵字聲明靜態(tài)方法,因為靜態(tài)類始終包含靜態(tài)方法。這些方法只能訪問靜態(tài)數(shù)據(jù)成員,不能訪問非靜態(tài)數(shù)據(jù)成員。

語法:

static class name_of_class
{
public static name_of_method()
{
// code
}
}

C# 中靜態(tài)類的示例

以下是下面提到的示例

示例#1

代碼:

/*
* C# Program to Check whether the Entered Number is Even or Odd
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace check1
{
class EvenAndOdd
{
static void Main(string[] args)
{
int i;
if (4 % 2 == 0) // You can enter any number you wish to check for even / odd
{
Console.Write("Entered Number is an Even Number");
Console.Read();
}
else
{
Console.Write("Entered Number is an Odd Number");
Console.Read();
}
}
}
}

輸出:

C# 中的靜態(tài)類

示例#2

代碼:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
public static class ABC {
// declaration of static Method
static void details()
{
Console.Write("Static Method of the class ABC is");
}
}
// Inheritance of the class ABC which would give an error since static
// class cannot be inherited
class ABC2 : ABC
{
public static void Main(String[] args)
{
}
}

輸出:

C# 中的靜態(tài)類

說明:在第一個示例中,通過使用 static 關(guān)鍵字有一個名為 Book 的靜態(tài)類。 Book?類由靜態(tài)數(shù)據(jù)成員 name、l 和 t 以及一個名為 specs() 的靜態(tài)方法組成。靜態(tài)類的該方法是通過類名Book來調(diào)用的。規(guī)格();。由于我們已經(jīng)知道靜態(tài)類不是由對象組成的,因此 Book 類的數(shù)據(jù)成員是通過其類名來訪問的,即 Book.name、Book。 l 和 Book.t.

靜態(tài)構(gòu)造函數(shù)

與普通構(gòu)造函數(shù)(即非靜態(tài)構(gòu)造函數(shù))相比,靜態(tài)構(gòu)造函數(shù)基本上用于靜態(tài)數(shù)據(jù)成員的初始化。

功能/規(guī)則:

  1. 他們不能擁有任何訪問修飾符。
  2. 它們不能與參數(shù)一起定義。
  3. 他們無權(quán)訪問非靜態(tài)數(shù)據(jù)成員。

靜態(tài)項的內(nèi)存分配

你一定知道應用程序內(nèi)存的基本組成部分是堆和棧。堆內(nèi)的一個特殊區(qū)域稱為高頻堆,其中存儲靜態(tài)成員。非靜態(tài)類的靜態(tài)成員也存儲在堆中,然后在該類的所有實例之間共享。因此,一個實例所做的更改會反映在所有其他實例中。

您一定已經(jīng)知道,靜態(tài)成員只能包含其他靜態(tài)成員,因為無論實例是否創(chuàng)建,靜態(tài)成員都會被調(diào)用。從今以后,他們將無法訪問非靜態(tài)成員。

C# 中靜態(tài)類的優(yōu)點

  1. 如果您、我們?nèi)魏纬蓡T作為非靜態(tài)成員,我們將收到錯誤。
  2. 如果我們嘗試創(chuàng)建靜態(tài)類的實例,則會再次生成編譯時錯誤,因為靜態(tài)成員可以與其類名一起直接訪問。
  3. 在類定義中的class關(guān)鍵字之前使用static關(guān)鍵字來聲明靜態(tài)類。
  4. 靜態(tài)類成員可以通過類名后跟成員名來訪問。

結(jié)論

  • 我們無法使用 new 關(guān)鍵字實例化靜態(tài)類
  • 靜態(tài)項目只能訪問其他靜態(tài)項目??紤]靜態(tài)類僅包含靜態(tài)成員,如變量、方法等。
  • 靜態(tài)方法僅包含靜態(tài)變量,并且它們只能訪問其余靜態(tài)項。
  • 靜態(tài)項目能夠在多個用戶之間共享資源。
  • 我們不能將 static 與索引器、析構(gòu)函數(shù)或類以外的類型一起使用。
  • 此外,非靜態(tài)類中的靜態(tài)構(gòu)造函數(shù)只會在該類第一次實例化時運行一次。
  • 此外,每當?shù)谝淮卧L問任何靜態(tài)成員時,靜態(tài)類中存在的靜態(tài)構(gòu)造函數(shù)只會運行一次。
  • 靜態(tài)成員被分配在內(nèi)存的高頻堆區(qū)域中。

以上是C# 中的靜態(tài)類的詳細內(nèi)容。更多信息請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻,版權(quán)歸原作者所有,本站不承擔相應法律責任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

C# 中的隨機數(shù)生成器 C# 中的隨機數(shù)生成器 Sep 03, 2024 pm 03:34 PM

C# 隨機數(shù)生成器指南。在這里,我們討論隨機數(shù)生成器的工作原理、偽隨機數(shù)和安全數(shù)的概念。

C# 中的階乘 C# 中的階乘 Sep 03, 2024 pm 03:34 PM

C# 階乘指南。這里我們討論 C# 中階乘的介紹以及不同的示例和代碼實現(xiàn)。

c#多線程和異步的區(qū)別 c#多線程和異步的區(qū)別 Apr 03, 2025 pm 02:57 PM

多線程和異步的區(qū)別在于,多線程同時執(zhí)行多個線程,而異步在不阻塞當前線程的情況下執(zhí)行操作。多線程用于計算密集型任務,而異步用于用戶交互操作。多線程的優(yōu)勢是提高計算性能,異步的優(yōu)勢是不阻塞 UI 線程。選擇多線程還是異步取決于任務性質(zhì):計算密集型任務使用多線程,與外部資源交互且需要保持 UI 響應的任務使用異步。

C# 中的質(zhì)數(shù) C# 中的質(zhì)數(shù) Sep 03, 2024 pm 03:35 PM

C# 素數(shù)指南。這里我們討論c#中素數(shù)的介紹和示例以及代碼實現(xiàn)。

C#與C:歷史,進化和未來前景 C#與C:歷史,進化和未來前景 Apr 19, 2025 am 12:07 AM

C#和C 的歷史與演變各有特色,未來前景也不同。1.C 由BjarneStroustrup在1983年發(fā)明,旨在將面向?qū)ο缶幊桃隒語言,其演變歷程包括多次標準化,如C 11引入auto關(guān)鍵字和lambda表達式,C 20引入概念和協(xié)程,未來將專注于性能和系統(tǒng)級編程。2.C#由微軟在2000年發(fā)布,結(jié)合C 和Java的優(yōu)點,其演變注重簡潔性和生產(chǎn)力,如C#2.0引入泛型,C#5.0引入異步編程,未來將專注于開發(fā)者的生產(chǎn)力和云計算。

C# 中的模式 C# 中的模式 Sep 03, 2024 pm 03:33 PM

C# 模式指南。在這里,我們討論 C# 中模式的介紹和前 3 種類型,以及其示例和代碼實現(xiàn)。

xml怎么改格式 xml怎么改格式 Apr 03, 2025 am 08:42 AM

可以采用多種方法修改 XML 格式:使用文本編輯器(如 Notepad )進行手工編輯;使用在線或桌面 XML 格式化工具(如 XMLbeautifier)進行自動格式化;使用 XML 轉(zhuǎn)換工具(如 XSLT)定義轉(zhuǎn)換規(guī)則;或者使用編程語言(如 Python)進行解析和操作。修改時需謹慎,并備份原始文件。

C# 中的回文 C# 中的回文 Sep 03, 2024 pm 03:34 PM

C# 回文指南。在這里,我們討論 C# 中回文背后的介紹和邏輯,以及各種方法及其代碼。

See all articles