本文实例讲述了asp.net中CSharpThinking扩展方法。分享给大家供大家参考。具体分析如下:
一、演变
① 扩展方法特征
1)必须在一个静态方法中。
2)至少有一个参数。
3)第一个参数必须附加this关键字作为前缀。
4)第一个参数不能有其他任何修饰符(如 out,ref)。
5)第一个参数的类型不能是指针。
6) 如果扩展方法名称与类型的方法一样(如都命名为ToString),则只有类型的方法会被调用,而扩展方法的不会,这是一个优先级问题。
② 扩展方法与普通静态方法的比较
C#2 时对一个类进行扩展而又不能应用继承方式时,只能编写稍微“丑陋”的静态方法。C#3允许我们更改静态类,来假装方法是类与生俱来的。
复制代码 代码如下:public static void Demo1()
{
// C#2 普通调用方式
string Log2 = ExtensionCompare.GetLogError("C#2 普通静态方式");
Console.WriteLine(Log2);
// C#3 扩展方法调用方式
string Log3 = "C#3扩展方法方式".ToLogError();
Console.WriteLine(Log3);
Console.ReadLine();
}
/// <summary>
/// C#2 常规静态方法扩展
/// </summary>
/// <param name="loginfo">格式化信息</param>
/// <returns></returns>
public static string GetLogError(string loginfo)
{
return string.Format("This is C#2 style: {0}", loginfo);
}
/// <summary>
/// C#3 用扩展方法实现的string类型扩展
/// </summary>
/// <param name="loginfo"></param>
/// <returns></returns>
public static string ToLogError(this string loginfo)
{
return string.Format("This is C#3 style: {0}", loginfo);
}
二、扩展方法最大的用途是在Linq中使用。
① Where , Select , OrderBy,
注:排序不会改变原序列的顺序及类型,返回一个新序列,这与List.Sort不同,后者会改变序列。所以Linq是无副作用的,除了一些及其的特殊情况。
复制代码 代码如下:company.Department.Select
(dept => new
{
Name = dept.name,
Cost = dept.Employees.Sum(person=>person.Salary);
})
.OrderByDescending(x=>x.Cost);
② 扩展方法更注重结果而非过程理解,这是与静态方法的区别。
希望本文所述对大家的asp.net程序设计有所帮助。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 房东的猫2017-房东的猫[科文音像][WAV+CUE]
- 杨乃文.2016-离心力(引进版)【亚神音乐】【WAV+CUE】
- 群星.2024-珠帘玉幕影视原声带【TME】【FLAC分轨】
- 芝麻龙眼.2008-光阴隧道民歌记录3CD【乡城】【WAV+CUE】
- 谭艳《再度重相逢HQII》头版限量[低速原抓WAV+CUE][549M]
- ABC唱片《蔡琴三十周年纪念版》6N纯银镀膜 [WAV+CUE][1.1G]
- 海来阿木《西楼情歌》开盘母带[WAV+CUE][1.1G]
- TheGesualdoSix-QueenofHeartsLamentsandSongsofRegretforQueensTerrestrialandCele
- 王建杰2011-荣华富贵[喜玛拉雅][WAV+CUE]
- 孙悦2024-时光音乐会[金蜂][WAV+CUE]
- 秦宇子.2020-#YUZI【海蝶】【FLAC分轨】
- 苏有朋.1994-这般发生【华纳】【WAV+CUE】
- 小虎队.1990-红蜻蜓【飞碟】【WAV+CUE】
- 雷婷《寂寞烟火HQⅡ》头版限量[低速原抓WAV+CUE][1G]
- 赵传1996《黑暗英雄》台湾首版[WAV+CUE][1G]