自用扩展方法分享

引言

自从用上扩展方法以来,就欲罢不能了,它们大大提升了我的代码编写效率 ,现在我已对其产生了高度依赖。在此分享一下自己的常用扩展方法集,方便大 家使用。

示例

public static string ExpandAndToString(this System.Collections.IEnumerable s, string 间隔字符)

功能:将集合展开并分别执行ToString方法,再以指定的分隔符衔接,拼接 成一个字符串。

范例:

[TestMethod]
  public void TestMethod1()
  {
    var i = new int[] {1,5,33,14,556 };
    var Out="1-5-33-14-556";
    Assert.AreEqual(Out,i.ExpandAndToString("-"));
  }

public static bool IsNullOrEmpty(this string s)

功能:验证字符串对象是否为空对象或空字符串。

范例:

[TestMethod]
public void TestMethod2()
{
   string s = null;
   Assert.AreEqual(true,s.IsNullOrEmpty());
   s += "123";
   Assert.AreEqual(false, s.IsNullOrEmpty());
}

public static string IsNullOrEmptyThen(this string s, System.Func<string,string> 表达式)

功能:验证字符串对象是否为空对象或空字符串,如果是的话,则执行传入 表达式,并将表达式结果返回。

范例:

[TestMethod]
public void TestMethod3()
{
   var s = "";
   var Out = "1234";
   Assert.AreEqual(Out, s.IsNullOrEmptyThen(f=>"1234"));
}

时间: 2024-09-17 04:49:33

自用扩展方法分享的相关文章

艾伟_转载:自用扩展方法分享

引言 自从用上扩展方法以来,就欲罢不能了,它们大大提升了我的代码编写效率,现在我已对其产生了高度依赖.在此分享一下自己的常用扩展方法集,方便大家使用. (其中有些是借鉴或挪用自其它博友的文章,在此尤其感谢鹤冲天的诸多分享) 源代码在文章末尾处提供. 示例 public static string ExpandAndToString(this System.Collections.IEnumerable s, string 间隔字符) 功能:将集合展开并分别执行ToString方法,再以指定的分隔

Linq之扩展方法

目录 写在前面 系列文章 扩展方法 总结 写在前面 上篇文章介绍了隐式类型,自动属性,初始化器,匿名类的相关概念,及通过反编译的方式查看了编译器帮我们做了那些事.本篇文章将介绍扩展方法的知识点,及如何定义,如何使用的相关内容. 系列文章 Linq之Lambda表达式初步认识 Linq之Lambda进阶 Linq之隐式类型.自动属性.初始化器.匿名类 扩展方法 扩展方法使你能够向现有类型"添加"方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型. 扩展方法是一种特殊的静态方法

PHP5.5.15+Apache2.4.10+MySQL5.6.20配置方法分享_php技巧

对于学习php的新手,由于网上的配置方法都是很久之前的,及时性不高,环境配置往往令人很头疼,我初学php配置环境时配置了3个晚上,每次总是会出现这样或那样的问题,如今把最新版的PHP5.5.15+Apache2.4.10+MySQL5.6.20,win7x86的配置方法分享给大家,64位的同理,不过下载的软件需要也是64位的. 环境:win7 32.(64位的同理,下载相关软件必须是对应的64位版本)              PHP5.5.15(php-5.5.15-Win32-VC11-x8

Photoshop一些给图片加水印的方法分享

给各位Photoshop软件的使用者们来详细的解析分享一下一些给图片加水印的方法. 方法分享: 首先,尽量不要太大,不要让水印喧宾夺主影响了图片本身. 水印的位置尽量规整,可以考虑和某些画面元素对齐或者交互. 如果是摄影作品,尤其是风光类的,我的习惯是设计一个和被摄地点有关联的小icon,然后配上20xx Carl Armen Photography之类提高bigger(略装)的文字. 颜色方面,我习惯用画面中某种颜色直接取色. 总之,就是让水印成为一个个人专属logo,画面版面的一部分. 不多

扩展方法 之 Asp.Net篇

说起扩展方法,不得不提博客园的鹤冲天,其关于扩展方法的文章基本上占了总文章的一半,其中不乏优秀之作. 我在Asp.Net开发期间也总结了不少扩展方法,与大家分享一下. 1. 获取GridView的主键值: public static T GetKey<T>(this GridView grid, int rowIndex) { T key = (T)grid.DataKeys[rowIndex].Value; return key; } 示例: protected void gvMaster_

佳能1100D相机测试动态范围方法分享

给各位摄影爱好者们来详细的解析分享一下佳能1100D相机测试动态范围的方法. 方法分享: 动态范围表示在一张照片中可以再现出多大的明暗差.测试EOS 1100D具有多宽的动态范围,如果动态范围有一定广度并且能够根据具体场景进行扩展就最好了.这里使用的是具有10级明暗差的动态范围测试片. EOS 1100D的高光色调优先:禁用8级 以中间亮度为基准,高光部和暗部均再现出4级.一共再现出8级明暗差.高光部一直保持了平滑的渐变,直到引起高光溢出的亮度.这在EOS数码单反系列中也是数一数二的高性能了.

JS扩展方法实例分析_javascript技巧

本文实例讲述了JS扩展方法实现技巧.分享给大家供大家参考.具体分析如下: JS扩展方法与C#的扩展方法非常相似,也是可以链式调用的,也是通过对某个类的扩展写法来实现.这个东西非常好用,如果将预先写好的方法放到一个js里面引用的话,那么后面写js将非常有趣. 下面给出一个例子: <head> <title>测试JS扩展方法</title> <script type="text/javascript"> // 合并多个空白为一个空白 Stri

提高淘宝客转化率方法分享(三)

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 淘宝客网站分为很多中,我比较中意的是以博客形式做,一来是因为wp开源,并且有不计其数的网站模板可以选择,再有,博客能够给人更加信任的感觉,说道博客的信任度,我觉得应该是影响淘宝客转化率的最关键因素,今天想要和大家分享的话题就是,如何提升博客形式淘宝客网站的信任度. 第一. 头像 第二. 简历 第三. 口吻 第四. 模板 我能够想到的主要就是以

运算符重载方法,扩展方法,以及方法参数

运算符重载方法 一 些编程语言允许定义运算符如果操作类型的实例,例如System.String,System.Decimal,和System.DateTime,它们 重载了==和!=运算符.但是对于CLR来说,它是完全不知道像"=="和"!="这些运算符是干什么的.编程语言定义了每一种运算符的意义以及当这些运 算符的符号出现时应该生成什么样的代码.例如C#里面,数值类型的当遇到"+"这个符号时,在编译时会生成将两个number加起来的代码,如果是