博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 扩展方法
阅读量:4678 次
发布时间:2019-06-09

本文共 807 字,大约阅读时间需要 2 分钟。

扩展方法在静态类中生命,定义为一个静态方法,其中第一个参数定义了它所扩展的类型;

public statirc class StringExtension{    public static void Foo(this string s)    {        WriteLine($"Foo invoked for {s}");    }}

 第一个参数定义了String类型,多使用this 用于区分与一般的静态方法;

使用方法

string s = "Hello";s.Foo();

 输出:“Foo invoked for Hello",

 

定义Linq扩展方法的一个类是System.Linq名称空间中的Enumerable。  System.Core.dll 中

IEnumerable<TSource>.Where() 实现方法:

public static IEnumerable
Where
(this IEnumerable
source, Func
predicate){ foreach(TSource item in source) if(predicate(item)) yeild return item;}

 第一个参数:this IEnumerable<TSource> souce  声明属于IEnumerable<TSouce>的扩展方法;

第二个参数: Fucn<TSouce, bool> predicate 属于委托,表示接收TSource类型的参数,返回bool类型的方法;

 

转载于:https://www.cnblogs.com/ILoveMyJob/p/10296383.html

你可能感兴趣的文章
c c++ sizeof
查看>>
Intellij IDEA连接Spark集群
查看>>
最长回文子串解法
查看>>
代码优化程序性能
查看>>
腾讯实习生招聘笔试题目
查看>>
Java Socket编程----通信是这样炼成的
查看>>
作业要求 20180925-1 每周例行报告
查看>>
1078. Hashing (25)-PAT甲级真题
查看>>
SQLite中的运算符表达式
查看>>
Grid使用 & ComboBox Binding & DateTime Format WPF
查看>>
.Net Core迁移到MSBuild的多平台编译问题
查看>>
数据结构之删除线性表中的元素
查看>>
redis安装配置
查看>>
结对项目博客
查看>>
讨论记录:求大于一个时间段的最大平均积分,O(n)时间实现
查看>>
error) DENIED Redis is running in protected mode because protected mode is enabled报错
查看>>
CSS-16-margin值重叠问题
查看>>
selenium常用方法
查看>>
第二次作业
查看>>
ios 面试题
查看>>