Fork me on GitHub

Linq快速入门——扩展方法

Linq为我们提供了许多扩展方法,方便我们对数据源进行操作(Where,Select...)。即使你不了解算法,也能使用Linq当回牛人。扩展方法本质并不是什么高深的技术,说白了就是一个Static静态方法。

声明扩展方法步骤:

  • 创建一个名为MyHelper的类,约定了此类中的方法均是扩展方法。注意这个类必须是静态类(Static)
  • 扩展方法必须是Static静态方法
  • 第一个参数为待扩展的类型,前面标注this
  • 如果MyHelper在一个类库中,记得对其添加引用using相关名称空间

A simple example

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Linq
{
    public static  class 扩展方法Helper
    {
        public static string ToMyUpper(this string helper)
        {
            return "\""+helper.ToUpper() + "\"";
        }

        public static string Quoted(this string helper,string a,string b)
        {
            return a + helper + b;
        }
        public static bool IsNumber(this string helper)
        {
            int i;
            return int.TryParse(helper,out i);
        }
        public static string ToChineses(this bool helper)
        {
            return  helper ? "" : "";
        }
        public static int CreateMan(this Person helper)
        {
            Person one = new Person { Age=18,Name="Eyes"};
            return one.Age;
        }
    }
    public class Person
    {
        public int Age { get; set; }
        public string Name { get; set; }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Linq
{
    class Program
    { 
        static void Main(string[] args)
        {

            Person p = new Person();
            Console.WriteLine(p.Name.IsNumber().ToChineses());
            Console.ReadKey();
        }
    }
}

总结

系列完善中,请持续关注...

posted @ 2012-08-27 13:20  木宛城主  阅读(2568)  评论(1编辑  收藏  举报
multifunction lasers
访问人数