`
梁利锋
  • 浏览: 81892 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

扩展方法中的一个小技巧

阅读更多
  今天写扩展方法,突然想到,其实扩展方法是静态方法,所以它和原有类中的方法是很不同的,对于扩展方法来说,即使对象为空,也是可以正确执行的,比如下面对于字符串数组的扩展方法:
public static string First(this string[] ss)
{
    if(ss == null || ss.Length == 0)
    {
        return null;
    }
    return ss[0];
}

public static string Last(this string[] ss)
{
    if(ss == null || ss.Length == 0)
    {
        return null;
    }
    return ss[ss.Length - 1];
}

  这里检测了对象是否为空,如果为空则也返回空,所以使用它的时候,我们就不会因为调用这两个方法而得到 NullPointException:
static void Main(string[] args)
{
    string[] ss = null;
    var s = ss.First();
    if(s == null)
    {
        Console.WriteLine("<NULL>");
    }
    else
    {
        Console.WriteLine(s);
    }
    Console.ReadLine();
}

  使用扩展方法,反而可以进一步简化代码,只是不知道会不会让不了解的人在读代码时有些头晕了。
1
0
分享到:
评论

相关推荐

    win7显示文件扩展名小技巧.docx

    例如,一个名为"document.txt"的文件,在隐藏扩展名时只会显示为"document",现在则会显示完整的名称。 显示文件扩展名有助于识别和管理文件,尤其是当需要更改文件类型或处理潜在的恶意文件时。不过,要注意不要...

    近100多个c#开发小技巧,.net实例源代码.

    本文将深入探讨近100个C#开发小技巧,这些技巧覆盖了从基础语法到高级特性,旨在提升开发效率,优化代码质量,并提供实际可运行的.NET实例源代码。 1. **Linq查询优化**:使用LINQ可以极大地简化数据操作,但需要...

    C#net编程的七个小技巧

    本文将详细解析七个C# .NET编程中的实用小技巧,旨在提升开发效率,优化代码质量。 1. **使用using语句块管理资源** 在处理如文件流、数据库连接等需要手动释放的资源时,`using`语句块是必不可少的。它确保了即使...

    arcgis小技巧字段内属性提取

    在ArcGIS中,进行高效的地理数据管理和分析往往需要掌握一些实用的小技巧。本文将围绕“arcgis小技巧字段内属性提取”这一主题展开讨论,详细解释如何通过ArcGIS中的脚本或工具实现对字段内特定属性的有效提取。这...

    一些开发小技巧

    接下来,让我们来看一个简单的文件下载方法的示例。这个方法适用于所有类型的Web框架,无论你是使用Spring MVC、Struts还是其他框架。该方法首先获取文件的根目录,这可能因框架而异,然后根据文件名构造完整的文件...

    搜集的js实践小技巧

    通常写作`(function() { /* code */ })()`,它允许我们在一个独立的作用域内运行代码。 2. **箭头函数**:ES6引入的箭头函数简化了函数定义,如`const add = (a, b) =&gt; a + b;`。它们没有自己的`this`,而是继承自...

    Unity3D小技巧1

    Unity3D 小技巧 ...Unity3D 提供了一个非常强大的 Editor 编程功能,让开发者可以自己编写 Editor 脚本来扩展 Unity3D 的功能。例如,PlayModePersist 可以保存你在 PlayMode 下对 GameObject 做出的任何改变。

    给大家一个C#四个小技巧

    #### 技巧一:优先使用接口进行编程 在.NET框架中,提供了丰富的类和接口供开发人员使用。在实际编程过程中,虽然我们经常能够明确知道正在使用的具体.NET类,但若能尽可能地采用.NET框架支持的接口来进行编程,则...

    C++的小技巧

    在探讨C++的小技巧时,我们首先关注到的是代码中所展现的面向对象编程特性,尤其是多态性和虚函数的使用。多态性是面向对象编程的一个核心概念,它允许子类重写父类的方法,从而实现不同行为的统一调用接口。在给定...

    44个实用VB小技巧的打包

    标题 "44个实用VB小技巧的打包" 涵盖了Visual Basic(VB)编程中的各种实用技巧,这些技巧可以提升开发效率,优化代码,解决常见问题。VB是Microsoft开发的一种面向对象的编程语言,广泛应用于桌面应用、网页开发等...

    VC++ IDE 小技巧.pdf

    另一种更加高效的方法是直接在一个文件夹中新建一个文本文档,将该文档的扩展名改为`.cpp`。例如,要创建名为`test.cpp`的文件,则可以先创建一个名为`test.txt`的文本文档,然后将其重命名为`test.cpp`。需要注意的...

    积累大VC 框架窗口编程小技巧

    以上四个小技巧展示了框架窗口编程中的常见需求和解决方法,它们可以帮助开发者更灵活地定制用户界面,提升软件的用户体验。掌握这些技巧,对于Windows应用开发的框架窗口设计至关重要。在实际项目中,可以根据具体...

    firefox 扩展开发示例

    在"示例程序"中,你可能会找到一个完整的扩展实例,包括上述所有部分。通过研究这些代码,你可以学习如何组织扩展的各个组件,以及如何使用JavaScript、HTML和CSS来实现功能。 "指导步骤"提供了原创的开发流程,...

    ASP.net小技巧

    1. **页面生命周期理解**:在ASP.NET中,每个网页都有一个生命周期,包括初始化、加载、验证、呈现和卸载等阶段。了解这些阶段可以帮助开发者在适当的时间执行代码,例如在Page_Load事件中绑定数据。 2. **控件事件...

    firefox扩展插件制作小综合

    Firefox扩展插件制作是一个涉及多方面技术的领域,包括JavaScript编程、XML文件结构解析以及对Firefox浏览器API的深入理解。以下是对这些知识点的详细说明: 1. **Firefox扩展(Add-ons)**:Firefox扩展是定制...

    CAD实用小技巧

    - 在命令行中输入`MTEXTED`,将系统变量`MTEXTEDIT`设置为“内部”或通过输入一个小数点字符来清空该变量。 - 这样可以恢复多行文字编辑器的正常使用。 #### 7. 如何拆散CAD图纸中的复杂线型图元? 如果需要拆散...

    C#的小技巧

    本压缩包文件“C#小技巧”显然是一个针对C#初学者的资源集合,包含了150个编程实例,旨在帮助学习者掌握C#的基本功能和技术。 首先,我们要了解C#的基础知识,它基于.NET框架,支持类、接口、继承、多态等面向对象...

    J2EE企业级项目开发-1期 08 Spring中事件处理的小技巧.doc

    在J2EE企业级项目开发中,理解并熟练运用Spring的事件处理小技巧至关重要。以下将详细介绍Spring事件处理的核心概念、工作流程以及如何在实践中应用。 首先,Spring通过`ApplicationContextAware`接口提供了一种...

    小水粒扩展+低版本谷歌浏览器

    【小水粒扩展+低版本谷歌浏览器】是一个关于在旧版谷歌浏览器上安装和使用“小水粒”扩展程序的主题。这个主题主要涵盖了两个关键点:小水粒扩展的特性和功能,以及如何在低版本的谷歌浏览器上进行适配和优化。 小...

Global site tag (gtag.js) - Google Analytics