亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄
C# 擴展方法的語法
C# 擴展方法的工作原理
實現(xiàn) C# 擴展方法的示例
示例 #3
結論
推薦文章

C# 擴展方法

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

根據(jù)擴展的字面意思,附加方法稱為C#擴展方法,使用它可以在不做任何更改或繼承或重構原始結構、類或接口的情況下添加附加方法,我們可以添加這樣的擴展方法我們創(chuàng)建的自定義類、.NET 框架的類或來自第三方或接口的類,這些擴展方法可以在整個程序流程中通過包含定義它們的命名空間來訪問,并且它是靜態(tài)方法靜態(tài)類中定義的特殊類型。

C# 擴展方法的語法

定義命名空間、類和擴展方法。

語法:

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

其中namespace_name是定義擴展方法的命名空間的名稱。

Class_name 是定義擴展方法的靜態(tài)類的名稱。

Extension_method_name 是擴展方法的名稱。

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

C# 擴展方法的工作原理

  • 擴展方法是額外創(chuàng)建的自定義方法,不屬于原始類的一部分。
  • 定義一個命名空間,在其中定義靜態(tài)類,然后在靜態(tài)類中定義擴展方法。通過使用定義擴展方法的命名空間,可以在整個應用程序中使用該方法。
  • 擴展方法是靜態(tài)類中定義的靜態(tài)方法的一種特殊情況,其第一個參數(shù)是要操作的運算符的類型,前綴為 this 關鍵字。
  • 擴展方法可以包含在.NET框架類、自定義類、結構或接口、第三方類中。

實現(xiàn) C# 擴展方法的示例

以下是 C# 擴展方法的示例

示例#1

C# 程序,演示程序中比較兩個整數(shù)的擴展方法:

?代碼:

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# 擴展方法

說明:在上面的程序中,定義了一個名為 check 的命名空間。然后定義一個稱為擴展方法類的靜態(tài)類,其中定義了比較兩個整數(shù)的擴展方法。然后定義另一個名為 check1 的類,即使它是在不同的類中定義但位于同一命名空間下,也可以在其中添加擴展方法。擴展方法返回兩個整數(shù)的比較結果。快照的輸出如上面的快照所示。

示例#2

C# 程序演示程序中的 Extension 方法以找出字符串的長度:

?代碼:

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# 擴展方法

說明:在上面的程序中,定義了一個名為 check 的命名空間。然后定義一個稱為擴展方法類的靜態(tài)類,其中定義了計算作為參數(shù)傳遞給它的字符串長度的擴展方法。然后定義另一個名為 check1 的類,即使它是在不同的類中定義但位于同一命名空間下,也可以在其中添加擴展方法。擴展方法返回作為參數(shù)傳遞給它的字符串的長度作為結果。快照的輸出如上面的快照所示。

示例 #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# 擴展方法

說明:在上面的程序中,定義了一個名為 check 的命名空間。然后定義一個稱為擴展方法類的靜態(tài)類,其中定義了將作為參數(shù)傳遞給它的兩個數(shù)字相加的擴展方法。然后定義另一個名為 check1 的類,即使它是在不同的類中定義但位于同一命名空間下,也可以在其中添加擴展方法。擴展方法返回兩個數(shù)字相加后的結果。

結論

在本教程中,我們通過定義、語法以及編程示例及其輸出來了解 C# 擴展方法的概念。

推薦文章

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

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

以上是C# 擴展方法的詳細內容。更多信息請關注PHP中文網(wǎng)其他相關文章!

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

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅動的應用程序,用于創(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#多線程和異步的區(qū)別 c#多線程和異步的區(qū)別 Apr 03, 2025 pm 02:57 PM

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

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

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

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

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

xml如何轉化為word xml如何轉化為word Apr 03, 2025 am 08:15 AM

有三種將 XML 轉換為 Word 的方法:使用 Microsoft Word、使用 XML 轉換器或使用編程語言。

xml怎么轉換成json xml怎么轉換成json Apr 03, 2025 am 09:09 AM

將 XML 轉換為 JSON 的方法包括:使用編程語言(如 Python、Java、C#)編寫腳本或程序進行轉換;使用在線工具(如 XML 轉換為 JSON、Gojko's XML 轉換器、XML 在線工具)粘貼或上傳 XML 數(shù)據(jù)并選擇 JSON 格式輸出;使用 XML 到 JSON 轉換器(如 Oxygen XML Editor、Stylus Studio、Altova XMLSpy)執(zhí)行轉換任務;使用 XSLT 樣式表將 XML 轉換為 JSON;使用數(shù)據(jù)集成工具(如 Informatic

c#多線程編程是什么  c#多線程編程用處 c#多線程編程是什么 c#多線程編程用處 Apr 03, 2025 pm 02:45 PM

C# 多線程編程是一種讓程序同時執(zhí)行多項任務的技術,它可以通過提升性能、提高響應能力和實現(xiàn)并行處理來提高程序效率。雖然 Thread 類提供了直接創(chuàng)建線程的方法,但 Task 和 async/await 等高級工具可以提供更安全的異步操作和更簡潔的代碼結構。多線程編程中常見的難題包括死鎖、競態(tài)條件和資源泄漏,需要仔細設計線程模型和使用適當?shù)耐綑C制來避免這些問題。

C#.NET:使用.NET生態(tài)系統(tǒng)構建應用程序 C#.NET:使用.NET生態(tài)系統(tǒng)構建應用程序 Apr 27, 2025 am 12:12 AM

如何利用.NET構建應用?使用.NET構建應用可以通過以下步驟實現(xiàn):1)了解.NET基礎知識,包括C#語言和跨平臺開發(fā)支持;2)學習核心概念,如.NET生態(tài)系統(tǒng)的組件和工作原理;3)掌握基本和高級用法,從簡單控制臺應用到復雜的WebAPI和數(shù)據(jù)庫操作;4)熟悉常見錯誤與調試技巧,如配置和數(shù)據(jù)庫連接問題;5)應用性能優(yōu)化與最佳實踐,如異步編程和緩存。

從網(wǎng)絡到桌面:C#.NET的多功能性 從網(wǎng)絡到桌面:C#.NET的多功能性 Apr 15, 2025 am 12:07 AM

C#.NETisversatileforbothwebanddesktopdevelopment.1)Forweb,useASP.NETfordynamicapplications.2)Fordesktop,employWindowsFormsorWPFforrichinterfaces.3)UseXamarinforcross-platformdevelopment,enablingcodesharingacrossWindows,macOS,Linux,andmobiledevices.

See all articles