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

目錄
C# 擴(kuò)展方法的語(yǔ)法
C# 擴(kuò)展方法的工作原理
實(shí)現(xiàn) C# 擴(kuò)展方法的示例
示例 #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ò)展方法。

語(yǔ)法:

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ò)展方法是額外創(chuàng)建的自定義方法,不屬于原始類的一部分。
  • 定義一個(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í)現(xiàn) C# 擴(kuò)展方法的示例

以下是 C# 擴(kuò)展方法的示例

示例#1

C# 程序,演示程序中比較兩個(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é)果??煺盏妮敵鋈缟厦娴目煺账?。

示例#2

C# 程序演示程序中的 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é)果??煺盏妮敵鋈缟厦娴目煺账尽?/p>

示例 #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ǔ)法以及編程示例及其輸出來(lái)了解 C# 擴(kuò)展方法的概念。

推薦文章

這是 C# 擴(kuò)展方法的指南。在這里,我們討論 C# 擴(kuò)展方法簡(jiǎn)介及其工作原理以及示例和代碼實(shí)現(xiàn)。您還可以瀏覽我們其他推薦的文章以了解更多信息 –

  1. C# 中的隨機(jī)數(shù)生成器
  2. Java 中的靜態(tài)構(gòu)造函數(shù)
  3. C# 中的 TextWriter
  4. C# 中的靜態(tài)構(gòu)造函數(shù)

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

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系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脫衣機(jī)

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集成開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

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

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

熱門(mén)話題

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

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

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

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

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# 素?cái)?shù)指南。這里我們討論c#中素?cái)?shù)的介紹和示例以及代碼實(shí)現(xiàn)。

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)將專注于開(kāi)發(fā)者的生產(chǎn)力和云計(jì)算。

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

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

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

可以采用多種方法修改 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