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

目錄
C# 擴(kuò)充方法的語(yǔ)法
C# 擴(kuò)充方法的工作原理
實(shí)作 C# 擴(kuò)充方法的範(fàn)例
範(fàn)例#3
結(jié)論
推薦文章

C# 擴(kuò)充方法

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

根據(jù)擴(kuò)充的字面意思,附加方法稱為C#擴(kuò)充方法,使用它可以在不做任何更改或繼承或重構(gòu)原始結(jié)構(gòu)、類別或介面的情況下添加附加方法,我們可以添加這樣的擴(kuò)充方法我們創(chuàng)建的自訂類別、.NET 框架的類別或來(lái)自第三方或介面的類,這些擴(kuò)展方法可以在整個(gè)程式流程中透過(guò)包含定義它們的命名空間來(lái)訪問(wèn),並且它是靜態(tài)方法靜態(tài)類別中定義的特殊類型。

C# 擴(kuò)充方法的語(yǔ)法

定義命名空間、類別和擴(kuò)充方法。

文法:

namespace namespace_name
{
public static class class_name
{
public static bool extension_method_name(parameters_list)
{
//Blocks of code
}
}
}

其中namespace_name是定義擴(kuò)充方法的命名空間的名稱。

Class_name 是定義擴(kuò)充方法的靜態(tài)類別的名稱。

Extension_method_name 是擴(kuò)充方法的名稱。

參數(shù)列表是參數(shù)列表,第一個(gè)參數(shù)是方法要操作的運(yùn)算子的類型,該運(yùn)算子的前綴為 this 關(guān)鍵字。

C# 擴(kuò)充方法的工作原理

  • 擴(kuò)充方法是額外建立的自訂方法,不屬於原始類別的一部分。
  • 定義一個(gè)命名空間,在其中定義靜態(tài)類,然後在靜態(tài)類別中定義擴(kuò)充方法。透過(guò)使用定義擴(kuò)充方法的命名空間,可以在整個(gè)應(yīng)用程式中使用該方法。
  • 擴(kuò)充方法是靜態(tài)類別中定義的靜態(tài)方法的一種特殊情況,其第一個(gè)參數(shù)是要操作的運(yùn)算子的類型,前綴為 this 關(guān)鍵字。
  • 擴(kuò)充方法可以包含在.NET框架類別、自訂類別、結(jié)構(gòu)或介面、第三方類別中。

實(shí)作 C# 擴(kuò)充方法的範(fàn)例

以下是 C# 擴(kuò)充方法的範(fàn)例

範(fàn)例#1

C# 程序,示範(fàn)程序中比較兩個(gè)整數(shù)的擴(kuò)充方法:

?代碼:

using System;
using System.Text;
//a namespace called check is defined
namespace check
{
// a static class called extensionclassmethod is defined
public static class extensionmethodclass
{
//extension method to compare two integers is defined
public static bool extensionmethodname(this intstr, intval)
{
return str>val;
}
}
//a class called check1 is defined
class check1
{
//main method is called
static void Main(string[] args)
{
intstri = 565;
//extension method defined in another static class is called here
bool z = stri.myExtensionMethod(200);
Console.WriteLine("The result of the comparison is: {0}", z);
Console.ReadLine();
}
}
}

輸出:

C# 擴(kuò)充方法

說(shuō)明:在上面的程式中,定義了一個(gè)名為 check 的命名空間。然後定義一個(gè)稱為擴(kuò)展方法類的靜態(tài)類,其中定義了比較兩個(gè)整數(shù)的擴(kuò)展方法。然後定義另一個(gè)名為 check1 的類,即使它是在不同的類別中定義但位於同一命名空間下,也可以在其中新增擴(kuò)充方法。擴(kuò)展方法傳回兩個(gè)整數(shù)的比較結(jié)果。快照的輸出如上面的快照所示。

範(fàn)例#2

C# 程式示範(fàn)程式中的 Extension 方法以找出字串的長(zhǎng)度:

?代碼:

using System;
using System.Text;
//a namespace called check is defined
namespace check
{
// a static class called extensionclassmethod is defined
public static class extensionmethodclass
{
//extension method to find out the length of a string is defined
public static intextensionmethodname(this string str)
{
return str.Length;
}
}
//a class called check1 is defined
class check1
{
//main method is called
static void Main(string[] args)
{
string stri = "ShobhaShivakumar";
//extension method defined in another static class is called here
int z = stri.extensionmethodname();
Console.WriteLine("The length of the string obtained by using extension method is: {0}", z);
Console.ReadLine();
}
}
}

輸出:

C# 擴(kuò)充方法

說(shuō)明:在上面的程式中,定義了一個(gè)名為 check 的命名空間。然後定義一個(gè)稱為擴(kuò)展方法類的靜態(tài)類,其中定義了計(jì)算作為參數(shù)傳遞給它的字串長(zhǎng)度的擴(kuò)展方法。然後定義另一個(gè)名為 check1 的類,即使它是在不同的類別中定義但位於同一命名空間下,也可以在其中新增擴(kuò)充方法。擴(kuò)展方法傳回作為參數(shù)傳遞給它的字串的長(zhǎng)度作為結(jié)果。快照的輸出如上面的快照所示。

範(fàn)例#3

代碼:

using System;
using System.Text;
//a namespace called check is defined
namespace check
{
// a static class called extensionclassmethod is defined
public static class extensionmethodclass
{
//extension method to add two numbers is defined
public static intextensionmethodname(this intstr, intval)
{
return str+val;
}
}
//a class called check1 is defined
class check1
{
//main method is called
static void Main(string[] args)
{
intstri = 100;
//extension method defined in another static class is called here
int z = stri.extensionmethodname(200);
Console.WriteLine("The result of addition of two numbers obtained by using extension method is: {0}", z);
Console.ReadLine();
}
}
}

輸出:

C# 擴(kuò)充方法

說(shuō)明:在上面的程式中,定義了一個(gè)名為 check 的命名空間。然後定義一個(gè)稱為擴(kuò)展方法類的靜態(tài)類,其中定義了將作為參數(shù)傳遞給它的兩個(gè)數(shù)字相加的擴(kuò)展方法。然後定義另一個(gè)名為 check1 的類,即使它是在不同的類別中定義但位於同一命名空間下,也可以在其中新增擴(kuò)充方法。擴(kuò)展方法傳回兩個(gè)數(shù)字相加後的結(jié)果。

結(jié)論

在本教程中,我們透過(guò)定義、語(yǔ)法以及程式設(shè)計(jì)範(fàn)例及其輸出來(lái)了解 C# 擴(kuò)充方法的概念。

推薦文章

這是 C# 擴(kuò)充方法的指南。在這裡,我們討論 C# 擴(kuò)展方法簡(jiǎn)介及其工作原理以及範(fàn)例和程式碼實(shí)作。您也可以瀏覽我們其他推薦的文章以了解更多資訊 –

  1. C# 中的隨機(jī)數(shù)產(chǎn)生器
  2. Java 中的靜態(tài)建構(gòu)子
  3. C# 中的 TextWriter
  4. C# 中的靜態(tài)建構(gòu)子

以上是C# 擴(kuò)充方法的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

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

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

C# 中的隨機(jī)數(shù)產(chǎn)生器 C# 中的隨機(jī)數(shù)產(chǎn)生器 Sep 03, 2024 pm 03:34 PM

C# 隨機(jī)數(shù)產(chǎn)生器指南。在這裡,我們討論隨機(jī)數(shù)產(chǎn)生器的工作原理、偽隨機(jī)數(shù)和安全數(shù)的概念。

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

C# 階乘指南。這裡我們討論 C# 中階乘的介紹以及不同的範(fàn)例和程式碼實(shí)作。

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

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

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

C# 質(zhì)數(shù)指南。這裡我們討論c#中素?cái)?shù)的介紹和範(fàn)例以及程式碼實(shí)作。

C#與C:歷史,進(jìn)化和未來(lái)前景 C#與C:歷史,進(jìn)化和未來(lái)前景 Apr 19, 2025 am 12:07 AM

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

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

C# 模式指南。在這裡,我們討論 C# 中模式的介紹和前 3 種類型,以及其範(fàn)例和程式碼實(shí)作。

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

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

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

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

See all articles