当前位置: 首页 > news >正文

朝阳网站设计/企业培训机构哪家最好

朝阳网站设计,企业培训机构哪家最好,邢台做网站公司排名,网站建设与网页设计总结平时我们如果要用到委托一般都是先声明一个委托类型,比如: private delegate string Say(); string说明适用于这个委托的方法的返回类型是string类型,委托名Say后面没有参数,说明对应的方法也就没有传入参数。 写一个适用于该委托…

平时我们如果要用到委托一般都是先声明一个委托类型,比如:

private delegate string Say();

string说明适用于这个委托的方法的返回类型是string类型,委托名Say后面没有参数,说明对应的方法也就没有传入参数。

写一个适用于该委托的方法:

     public static string SayHello(){return "Hello";}

最后调用:

       static void Main(string[] args){Say say = SayHello;Console.WriteLine(say());}

这里我们先声明委托,然后再将方法传给该委托。有没有办法可以不定义委托变量呢?

答案是肯定的,我们可以用Func.

Func是.NET里面的内置委托,它有很多重载。

Func<TResult>:没有传入参数,返回类型为TResult的委托。就像我们上面的Say委托,就可以用Func<string>来替代,调用如下:

      static void Main(string[] args){Func<string> say = SayHello;//Say say = SayHello;Console.WriteLine(say());}

怎么样,有了Func很简单吧。看一下Func别的重载。

Func<T, TResult> 委托:有一个传入参数T,返回类型为TResult的委托。如:

     //委托 传入参数类型为string,方法返回类型为intFunc<string, int> a = Count;
      //对应方法public int Count(string num){return Convert.ToInt32(num);}

Func<T1, T2, TResult> 委托:有两个传入参数:T1T2,返回类型为TResult

类似的还有Func(T1, T2, T3, TResult) 委托、Func(T1, T2, T3, T4, TResult) 委托等。用法差不多,都是前面为方法的传入参数,最后一个为方法的返回类型。

Func也可以与匿名方法一起使用如:

复制代码
        public static void Main(){Func<string, int, string[]> extractMeth = delegate(string s, int i){char[] delimiters = new char[] { ' ' };return i > 0 ? s.Split(delimiters, i) : s.Split(delimiters);};string title = "The Scarlet Letter";// Use Func instance to call ExtractWords method and display resultforeach (string word in extractMeth(title, 5))Console.WriteLine(word);}
复制代码

同样它也可以接 lambda 表达式

复制代码
  public static void Main(){char[] separators = new char[] {' '};Func<string, int, string[]> extract = (s, i) => i > 0 ? s.Split(separators, i) : s.Split(separators) ;string title = "The Scarlet Letter";// Use Func instance to call ExtractWords method and display resultforeach (string word in extract(title, 5))Console.WriteLine(word);}
复制代码

 Func都是有返回类型的,如果我们的方法没有返回类型该怎么办呢?铛铛铛,这时Action就要粉墨登场了。

Action 委托:没有传入参数,也没有返回类型,即Void。如:

复制代码
       static void Main(string[] args){Action say = SayHello;
say();}public static void SayHello( ){Console.WriteLine("Say Hello");}
复制代码

Action<T> 委托:传入参数为T,没有返回类型。如:

复制代码
      static void Main(string[] args){Action<string> say = SayHello;say("Hello");}public static void SayHello(string word ){Console.WriteLine(word);}
复制代码

Action<T1, T2> 委托:两个传入参数,分别为T1T2,没有返回类型。

Action同样的还有许多其它重载,每个重载用法一样,只是方法的传入参数数量不一样。

其实ActionFunc的用法差不多,差别只是一个有返回类型,一个没有返回类型,当然Action也可以接匿名方法和Lambda表达式。

匿名方法:

复制代码
    static void Main(string[] args){Action<string> say = delegate(string word){Console.WriteLine(word);};say("Hello Word");}
复制代码

Lambda表达式:

     static void Main(string[] args){Action<string> say = s => Console.WriteLine(s);say("Hello Word");}

 

http://www.jmfq.cn/news/5196565.html

相关文章:

  • 做品牌网站哪个好用/房地产营销策略有哪些
  • 网站设计公司-信科网络/seo搜索引擎优化题库
  • 信用中国 网站 支持建设/学生网页制作成品
  • 51aspx源码/青岛谷歌优化公司
  • 企业网站外包/免费外网加速器
  • 做网站需要工商证吗/视频互联网推广选择隐迅推
  • 优质的南昌网站建设/免费推广自己的网站
  • 龙华app网站制作/制作网页模板
  • 卖环保设备做哪个网站好/免费合作推广
  • 有哪些漫画做的好的网站/关键词排名关键词快速排名
  • 搭建免费网站/公司网络推广
  • 有没有做皮艺的网站/整合营销是什么
  • 做海报的网站知乎/seo简单优化操作步骤
  • 微舍 微网站 怎么做/网络营销主要是学什么的
  • 上海最专业的网站设/汕头百度seo公司
  • 如何分析网站关键词/广东网站营销seo费用
  • 中国做b2b外贸的网站有哪些/潍坊做网站哪家好
  • 哪个网站做任务能赚钱/权重查询
  • 织梦怎么制作网站/百度推广哪家做的最好
  • 金昌北京网站建设/手游推广渠道平台
  • 企业网站作用/产品市场调研怎么做
  • 昌邑做网站的公司/网站建设培训机构
  • 网站富文本的内容怎么做/怎样宣传网站
  • wordpress php 结构/seovip培训
  • 简述企业网站建设的目的有哪些/长沙网站关键词排名推广公司
  • 清仓在什么网站做/百度网站排名优化价格
  • 互联网行业的开发网站/百度关键词挖掘
  • 河北邯郸什么时候解封/网站优化方案模板
  • 动态网站开发视频教程/西安百度百科
  • 广州响应网站建设/域名在线查询