c# 什么是扩展方法

server/2024/9/25 21:24:34/

官方解释        

        扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。 扩展方法是一种静态方法,但可以像扩展类型上的实例方法一样进行调用。 对于用 C#、F# 和 Visual Basic 编写的客户端代码,调用扩展方法与调用在类型中定义的方法没有明显区别。

        最常见的扩展方法是 LINQ 标准查询运算符,它将查询功能添加到现有的 System.Collections.IEnumerable 和 System.Collections.Generic.IEnumerable<T> 类型。 若要使用标准查询运算符,请先使用 using System.Linq 指令将它们置于范围中。 然后,任何实现了 IEnumerable<T> 的类型看起来都具有 GroupBy、OrderBy、Average 等实例方法。 在 IEnumerable<T> 类型的实例(如 List<T> 或 Array)后键入“dot”时,可以在 IntelliSense 语句完成中看到这些附加方法。

        扩展方法定义的语法

public static 返回值类型 方法名(this 扩展的数据类型 参数名)

{

}

注意  扩展方法所在的类一定是 static 的

示例:下面是给 string 类型的增加了一个将字符串转成int不会出现异常的扩展方法


/// <summary>
/// 字符串扩展方法
/// </summary>
public static class StringExtension
{/// <summary>/// string 转 int/// </summary>/// <param name="value"></param>/// <returns>转换失败返回int最小值,否则返回对应的值</returns>public static int ToInt(this string value){int val = int.MinValue;int.TryParse(value, out val);return val;}
}

调用

int age = "20".ToInt();

注意 如果发现调用不了应该是没有引用扩展方法的命名空间


http://www.ppmy.cn/server/101573.html

相关文章

抽象代数精解【9】

文章目录 流密码密码体制概述唯吉尼亚密码一、历史与背景二、加密算法三、特点与应用四、破译方法五、原理概述加密过程解密过程注意事项 流密码理论解释一、定义与原理二、特点与优势三、工作原理四、应用实例五、安全性与限制 RC4算法一、算法概述二、算法原理三、算法特点四…

只有IP如何实现https访问

IP也是访问网站的一种方式&#xff0c;现在有很多网站并未绑定域名&#xff0c;而是通过IP直接访问的。 但是域名访问网站的方式会更多一些&#xff0c;主要还是因为域名相较于IP数字要更加好记&#xff0c;所以域名绑定网站的情况会更多。 随着现在网络安全意识的逐渐提升&a…

ios app包应用签名证书指纹SHA256值

获取应用签名证书的指纹&#xff0c;首先要获取给app签名的证书&#xff0c;然后从证书里面获取SHA256签名&#xff0c;具体步骤如下 1 获取iOS app签名证书指纹SHA256值2 导出p12文件3 获取证书指纹SHA256值4 完成 操作步骤及代码 步骤1&#xff1a;首先&#xff0c;你需要…

python爬虫滑块验证及各种加密函数(基于ddddocr进行的一层封装)

git链接: https://github.com/JOUUUSKA/spider_toolsbox 这里写目录标题 一.识别验证码1、识别英文&#xff0b;数字验证码2、识别滑块验证码3、识别点选验证码 二、下载系列1、下载视频2、下载图片3、下载文本 三、常用加密类型1、AES系列2、DES系列3、RSA系列4、SHA系列5、B…

选对BI解决方案,数据才能驱动成功?奥威BI数据可视化方案深度解析

选对BI解决方案&#xff0c;数据才能驱动成功&#xff1f;奥威BI数据可视化方案深度解析 在当今这个数据爆炸的时代&#xff0c;企业面临着前所未有的机遇与挑战。如何有效利用数据&#xff0c;将其转化为推动业务增长和决策优化的关键力量&#xff0c;成为了每个企业都必须面…

文本摘要简介

文本摘要是从一段长文本中提取出最重要的信息&#xff0c;并生成一个简短而有意义的摘要。这个过程可以分为两种主要方法&#xff1a; 抽取式摘要&#xff08;Extractive Summarization&#xff09;&#xff1a;从原文中直接提取出关键句子或段落&#xff0c;组成摘要…

vue里组件化引入svg图标的方式

配置好后可以轻松从iconfont导入svg图标或者任意svg图标。 参考&#xff1a;https://blog.csdn.net/weixin_39729729/article/details/137348970 https://blog.csdn.net/CMDN123456/article/details/139854354 官网https://www.iconfont.cn/help/detail?spma313x.help_detai…

代理服务器在HTTP请求中的应用:Ruby实例

摘要 在现代互联网架构中&#xff0c;代理服务器是不可或缺的组件&#xff0c;它提供了访问控制、数据加密、缓存和匿名访问等多种功能。本文将介绍代理服务器的基本概念&#xff0c;并以Ruby编程语言为例&#xff0c;展示如何在HTTP请求中使用代理服务器&#xff0c;包括设置…