日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

C# 中的 Action 和 Func 委托

來源: 責編: 時間:2024-05-30 17:16:54 173觀看
導讀在C#中,Action<T>和Func<T>是兩種常用的泛型委托,它們為開發者提供了一種類型安全的方式來定義和處理方法引用。Action<T>和Func<T>的主要區別在于,Action<T>用于封裝沒有返回值(即返回類型為void)的方法,而Func<T>則用于封

在C#中,Action<T>和Func<T>是兩種常用的泛型委托,它們為開發者提供了一種類型安全的方式來定義和處理方法引用。Action<T>和Func<T>的主要區別在于,Action<T>用于封裝沒有返回值(即返回類型為void)的方法,而Func<T>則用于封裝有返回值的方法。SAu28資訊網——每日最新資訊28at.com

SAu28資訊網——每日最新資訊28at.com

Action委托

Action<T>委托用于表示接受特定類型參數并不返回任何值(void)的方法。T在這里是一個占位符,代表委托可以接受的參數類型。Action<T>可以有多個類型參數,比如Action<T1, T2, ...>,最多可以支持16個類型參數。SAu28資訊網——每日最新資訊28at.com

示例代碼:SAu28資訊網——每日最新資訊28at.com

using System;class Program{    static void Main()    {        // 定義一個 Action<string> 委托實例,并關聯一個方法        Action<string> greet = Greet;                // 調用委托實例        greet("World");    }        static void Greet(string name)    {        Console.WriteLine($"Hello, {name}!");    }}

在這個例子中,我們定義了一個Greet方法,它接受一個字符串參數并不返回任何值。然后,我們創建了一個Action<string>委托實例,并將其關聯到Greet方法上。最后,我們通過委托實例調用了Greet方法。SAu28資訊網——每日最新資訊28at.com

Func委托

與Action<T>不同,Func<T>委托用于表示具有返回值的方法。Func<T>的第一個類型參數是輸入參數的類型,最后一個類型參數是返回值的類型。例如,Func<int, int>表示接受一個int參數并返回一個int值的方法。SAu28資訊網——每日最新資訊28at.com

示例代碼:SAu28資訊網——每日最新資訊28at.com

using System;class Program{    static void Main()    {        // 定義一個 Func<int, int> 委托實例,并關聯一個方法        Func<int, int> square = CalculateSquare;                // 調用委托實例并打印結果        int result = square(5);        Console.WriteLine($"The square of 5 is {result}.");    }        static int CalculateSquare(int number)    {        return number * number;    }}

在這個例子中,我們定義了一個CalculateSquare方法,它接受一個整數參數并返回一個整數結果。然后,我們創建了一個Func<int, int>委托實例,并將其關聯到CalculateSquare方法上。最后,我們通過委托實例調用了CalculateSquare方法,并打印了結果。SAu28資訊網——每日最新資訊28at.com

總結

Action<T>和Func<T>委托是C#中非常有用的工具,它們提供了一種簡潔、類型安全的方式來引用和調用方法。通過使用這些委托,開發者可以更加靈活地編寫可重用的代碼,并輕松地實現回調函數和事件驅動的設計模式。在實際開發中,根據方法是否有返回值來選擇使用Action<T>還是Func<T>委托是非常重要的。SAu28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-91823-0.htmlC# 中的 Action 和 Func 委托

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 十個經典 Python 設計模式解析

下一篇: C語言字符串為什么以/0 作為結束標志?

標簽:
  • 熱門焦點
  • 對標蘋果的靈動島 華為帶來實況窗功能

    繼蘋果的靈動島之后,華為也在今天正式推出了“實況窗”功能。據今天鴻蒙OS 4.0的現場演示顯示,華為的實況窗可以更高效的展現出實時通知,比如鎖屏上就能看到外賣、打車、銀行
  • JavaScript 混淆及反混淆代碼工具

    介紹在我們開始學習反混淆之前,我們首先要了解一下代碼混淆。如果不了解代碼是如何混淆的,我們可能無法成功對代碼進行反混淆,尤其是使用自定義混淆器對其進行混淆時。什么是混
  • 28個SpringBoot項目中常用注解,日常開發、求職面試不再懵圈

    前言在使用SpringBoot開發中或者在求職面試中都會使用到很多注解或者問到注解相關的知識。本文主要對一些常用的注解進行了總結,同時也會舉出具體例子,供大家學習和參考。注解
  • 一年經驗在二線城市面試后端的經驗分享

    忠告這篇文章只適合2年內工作經驗、甚至沒有工作經驗的朋友閱讀。如果你是2年以上工作經驗,請果斷劃走,對你沒啥幫助~主人公這篇文章內容來自 「升職加薪」星球星友 的投稿,坐
  • WebRTC.Net庫開發進階,教你實現屏幕共享和多路復用!

    WebRTC.Net庫:讓你的應用更親民友好,實現視頻通話無痛接入! 除了基本用法外,還有一些進階用法可以更好地利用該庫。自定義 STUN/TURN 服務器配置WebRTC.Net 默認使用 Google 的
  • JVM優化:實戰OutOfMemoryError異常

    一、Java堆溢出堆內存中主要存放對象、數組等,只要不斷地創建這些對象,并且保證 GC Roots 到對象之間有可達路徑來避免垃 圾收集回收機制清除這些對象,當這些對象所占空間超過
  • 本地生活這塊肥肉,拼多多也想吃一口

    出品/壹覽商業 作者/李彥編輯/木魚拼多多也看上本地生活這塊蛋糕了。近期,拼多多在App首頁&ldquo;充值中心&rdquo;入口上線了本機生活界面。壹覽商業發現,該界面目前主要
  • 華為Mate 60系列用上可變靈動島:正式版體驗將會更出色

    這段時間以來,關于華為新旗艦的爆料日漸密集。據此前多方爆料,今年華為將開始恢復一年雙旗艦戰略,除上半年推出的P60系列外,往年下半年的Mate系列也將
  • 機構稱Q2國內智能手機銷量同比下滑4% vivo份額重回第1

    7月29日消息,根據市場調查機構Counterpoint Research公布的最新報告,2023年第2季度中國智能手機銷量同比下降4%,創新自2014年以來第2季度銷量新低。報
Top 主站蜘蛛池模板: 西乌珠穆沁旗| 察隅县| 马尔康县| 九江市| 博兴县| 沁水县| 万载县| 孝义市| 汨罗市| 铁岭市| 黄梅县| 襄汾县| 鹤峰县| 从化市| 乐业县| 太保市| 凌海市| 安吉县| 桃江县| 三门峡市| 双牌县| 潜江市| 句容市| 嘉定区| 本溪市| 三明市| 临清市| 德阳市| 古田县| 克什克腾旗| 高平市| 竹山县| 和林格尔县| 恩平市| 游戏| 云霄县| 长武县| 晋江市| 绵竹市| 年辖:市辖区| 鱼台县|