C# 3.0中扩展方法怎么用
发表于:2025-11-20 作者:千家信息网编辑
千家信息网最后更新 2025年11月20日,这篇文章主要介绍了C# 3.0中扩展方法怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Extension Methods 使用扩
千家信息网最后更新 2025年11月20日C# 3.0中扩展方法怎么用
这篇文章主要介绍了C# 3.0中扩展方法怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
Extension Methods 使用扩展方法,使用的时候需要注意的地方
1.C# 3.0新特性中扩展方法所属的类必须为静态非泛型类,扩展方法也是静态方法
2.***个参数为被扩展的类型实例,并且必须用this进行修饰
3.第二个参数开始对对应被扩展类型实例所传递的参数列表,即扩展类型实例
传递的***个参数对应扩展方法定义的第二个参数,依次类推
4.C# 3.0新特性中被扩展类型实例可像调用类型内部定义的实例方法一样调用扩展方法
这里定义一个扩展方法:
public static class Extensions { public static bool Compare(this Customer customer1, Customer customer2) { if (customer1.CustomerId == customer2.CustomerId && customer1.Name == customer2.Name && customer1.City == customer2.City) { return true; } return false; } }其中Compare***个参数用this修饰
完整源码例子,这个例子主要查询新建的newCustomer是否在列表List中
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace NewLanguageFeatures { public class Customer { public int CustomerId { get; private set; } public string Name { get; set; } public string City { get; set; } public Customer(int Id) { CustomerId = Id; } public override string ToString() { return Name + "\t" + City + "\t" + CustomerId; } } public static class Extensions { public static bool Compare(this Customer customer1, Customer customer2) { if (customer1.CustomerId == customer2.CustomerId && customer1.Name == customer2.Name && customer1.City == customer2.City) { return true; } return false; } } class Program { static void Main(string[] args) { var customers = CreateCustomers(); var newCustomer = new Customer(10) { Name = "Stuart Glasson", City = "Oxford" }; foreach (var c in customers) { if (newCustomer.Compare(c)) { Console.WriteLine("The new customer was already in the list"); return; } } Console.WriteLine("The new customer was not in the list"); } static List< Customer> CreateCustomers() { return new List< Customer> { new Customer(1) { Name = "Alex Roland", City = "Berlin" }, new Customer(2) { Name = "Oliver Cox", City = "Marseille" }, new Customer(3) { Name = "Maurice Taylor", City = "London" }, new Customer(4) { Name = "Phil Gibbins", City = "London" }, new Customer(5) { Name = "Tony Madigan", City = "Torino" }, new Customer(6) { Name = "Elizabeth A. Andersen", City = "Portland" }, new Customer(7) { Name = "Justin Thorp", City = "London" }, new Customer(8) { Name = "Bryn Paul Dunton", City = "Portland" } }; } }感谢你能够认真阅读完这篇文章,希望小编分享的"C# 3.0中扩展方法怎么用"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
方法
参数
实例
类型
篇文章
C#
例子
特性
静态
价值
兴趣
同时
地方
所属
时候
更多
朋友
源码
知识
编带
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库与数据处理名词解释
南沙分局网络安全
博雅数据库预估河北投档线
滨州市大数据库摇主任最新
极立互联网科技云创
服务器机柜电源线走线
数据库中截取小数点后两位
河南采购管理软件开发公司
互联网科技园总部
青岛术韬网络技术有限公司
长城飞腾服务器 bios
上海其信网络技术有限公司
服务器管理有哪些维护方式
武汉润王网络技术有限公司
税务局网络安全事故
艾润停车网服务器图片
陈桂文网络安全
数据库top函数怎么使用
达达配送未找到指定服务器
网络安全的基石
职高软件开发学哪些课程
服务器国自然基金预算
安徽系统软件开发定制费用
互联网科技园总部
软件开发员可以是色弱吗
安卓软件开发多长时间能学会
数据库自动化软件
链盟湖北互联网科技有限公司
下载幻彩桌面网络技术
学校网络安全案例分析题