C# 3.0中扩展方法怎么用
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍了C# 3.0中扩展方法怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Extension Methods 使用扩
千家信息网最后更新 2026年11月03日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安全错误
数据库的锁怎样保障安全
互联网科技垄断
互联网中国科技
互联网科技的发展
金融科技 互联网金融
互联网 的科技创新
奔汉互联网科技
上海万想互联网科技
互联网科技公司介绍
中国互联网金融科技基金
中正互联网科技招聘
厦门千工互联网科技有限公司
深圳育鹏互联网科技有限公司招聘
国大互联网教育科技有限公司工作
996高科技互联网公司
徐州市互联网科技有限公司
银行科技岗属于互联网吗
半导体行业属于互联网高科技类吗
广西科技产业互联网是什么
北京瑞云互联网科技有限公司
宁波允成互联网科技有限公司
花魁咖啡
上海喔噻互联网科技有限公司
工业互联网科技新基建
汇久创客互联网科技
友谊互联网络科技
互联网软件和科技
上海京穆互联网科技有限公司
黑云互联网科技有限公司
福建互联网展示科技馆设计
绵阳真晨互联网科技有限公司