最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c#中的泛型委托詳解

 更新時間:2017年01月19日 10:42:23   作者:WhiteTaken  
本文主要介紹了c#中的泛型委托。具有很好的參考價值,下面跟著小編一起來看下吧

今天學(xué)習(xí)一下c#中的泛型委托。

1.一般的委托,delegate,可以又傳入?yún)?shù)(<=32),聲明的方法為  public delegate void SomethingDelegate(int a);

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace delegateSummary {
 public delegate void GetIntDelegate(int a); //聲明一個委托
 public class getIntClass { 
 public static void SetDelegateString(int a,GetIntDelegate getIntDelegate) {//使用委托
  getIntDelegate(a);
 }
 public void getInt1(int a) { //方法1
  Console.WriteLine("getInt1方法調(diào)用,參數(shù)為:" + a);
 }
 public void getInt2(int a) { //方法2
  Console.WriteLine("getInt2方法調(diào)用,參數(shù)為:" + a);
 }
 }
 class Program {
 static void Main(string[] args) {
  getIntClass gc=new getIntClass();
  getIntClass.SetDelegateString(5, gc.getInt1);  //方法1,2作為委托的參數(shù)
  getIntClass.SetDelegateString(10, gc.getInt2); 
  Console.WriteLine("=====================");
  GetIntDelegate getIntDelegate;
  getIntDelegate = gc.getInt1;     //將方法1,2綁定到委托
  getIntDelegate += gc.getInt2;
  getIntClass.SetDelegateString(100, getIntDelegate); 
  Console.Read();
 } 
 }
}

輸出結(jié)果,注意兩種方式的不同,第一種將方法作為委托的參數(shù),第二種是將方法綁定到委托。

2.泛型委托之Action,最多傳入16個參數(shù),無返回值。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace delegateSummary {
 class Program {
 static void Main(string[] args) {
  TestAction<string>(getString, "WhiteTaken"); //傳入方法
  TestAction<int>(getInt, 666);
  TestAction<int, string>(getStringAndInt, 666, "WhiteTaken");
  Console.Read();  
 }
 public static void TestAction<T>(Action<T> action,T p1) {        //Action傳入一個參數(shù)測試
  action(p1);
 }
 public static void TestAction<T, P>(Action<T, P> action, T p1, P p2) { //Action傳入兩個參數(shù)測試
  action(p1,p2);
 }
 public static void getString(string a) {    //實現(xiàn)int類型打印
  Console.WriteLine("測試Action,傳入string,并且傳入的參數(shù)為:" +a);
 }
 public static void getInt(int a) {     //實現(xiàn)String類型打印
  Console.WriteLine("測試Action,傳入int,并且傳入的參數(shù)為:" + a);
 }
 public static void getStringAndInt(int a, string name) {    //實現(xiàn)int+string類型打印
  Console.WriteLine("測試Action,傳入兩參數(shù),并且傳入的參數(shù)為:" + a+":"+name);
 }
 }
}

測試結(jié)果:

3.泛型委托之Func,最多傳入16個參數(shù),有返回值。(寫法與Action類似,只是多了返回值)

4.泛型委托之predicate(不是很常用),返回值為bool,用在Array和list中搜索元素。(沒有用到過,等用到了再更新)

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

相關(guān)文章

  • Unity使用ScrollRect制作搖桿

    Unity使用ScrollRect制作搖桿

    這篇文章主要為大家詳細(xì)介紹了Unity使用ScrollRect制作搖桿,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • C#12中的Primary?Constructors主構(gòu)造函數(shù)詳解

    C#12中的Primary?Constructors主構(gòu)造函數(shù)詳解

    主構(gòu)造函數(shù)把參數(shù)添加到class與record的類聲明中就是主構(gòu)造函數(shù),這篇文章主要介紹了C#12中的Primary?Constructors 主構(gòu)造函數(shù),需要的朋友可以參考下
    2023-11-11
  • C#中抽象類與接口的區(qū)別詳解

    C#中抽象類與接口的區(qū)別詳解

    本文主要介紹了C#中抽象類與接口的區(qū)別。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • C#中的Task.Delay()和Thread.Sleep()區(qū)別(代碼案例)

    C#中的Task.Delay()和Thread.Sleep()區(qū)別(代碼案例)

    Task.Delay(),async/await和CancellationTokenSource組合起來使用可以實現(xiàn)可控制的異步延遲。本文通過多種代碼案例給大家分析C#中的Task.Delay()和Thread.Sleep()知識,感興趣的朋友一起看看吧
    2021-06-06
  • 使用C#編寫15子游戲

    使用C#編寫15子游戲

    這篇文章主要為大家詳細(xì)介紹了使用C#編寫15子游戲的具體代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • C#中的Image控件用法詳解與實際應(yīng)用示例

    C#中的Image控件用法詳解與實際應(yīng)用示例

    在C#應(yīng)用程序開發(fā)中,圖像顯示是一個常見的需求,無論是創(chuàng)建圖形界面還是處理圖像數(shù)據(jù),System.Windows.Controls.Image控件都是實現(xiàn)這一目標(biāo)的重要工具,本文將詳細(xì)介紹Image控件的功能、用法、優(yōu)化技巧以及一些實際應(yīng)用示例,需要的朋友可以參考下
    2024-06-06
  • C#中static void Main(string[] args) 參數(shù)示例詳解

    C#中static void Main(string[] args) 參數(shù)示例詳解

    這篇文章主要介紹了C#中static void Main(string[] args) 參數(shù)詳解,本文通過具體示例給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2017-03-03
  • C#非矩形窗體實現(xiàn)方法

    C#非矩形窗體實現(xiàn)方法

    這篇文章主要介紹了C#非矩形窗體實現(xiàn)方法,涉及C#窗體操作的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • Unity實現(xiàn)簡單場景分層移動

    Unity實現(xiàn)簡單場景分層移動

    這篇文章主要為大家詳細(xì)介紹了Unity實現(xiàn)簡單場景分層移動,分為前景、場景、背景等,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • C#獲取日期的星期名稱實例代碼

    C#獲取日期的星期名稱實例代碼

    本文通過實例代碼給大家介紹了基于c#獲取日期的星期名稱,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧
    2018-08-08

最新評論

仲巴县| 万荣县| 新邵县| 民勤县| 嘉荫县| 钦州市| 梅河口市| 潮州市| 江华| 左云县| 江口县| 大荔县| 息烽县| 兰西县| 上栗县| 江阴市| 绵阳市| 赤壁市| 屯留县| 区。| 鹤岗市| 雷山县| 曲沃县| 响水县| 胶南市| 娄烦县| 福安市| 卓尼县| 安吉县| 安多县| 永平县| 长丰县| 砀山县| 兴义市| 华蓥市| 湘潭市| 伊宁市| 建平县| 台北县| 二连浩特市| 遂平县|