日期:2014-05-17  浏览次数:20875 次

c#中的扩展方法和λ表达式的用法

c#中的扩展方法使用:

1.方法必须是形态的

2.方法必须包含一个参数,表示调用扩展方法的类实例(这个参数在这里称为实例参数)

3.实例码数是为方法定义的第一个参数,除了this关键字之外,实例参数不能有其他修饰符。

如下方法的定义:

public static String ToTitleCase(this String inputString, bool forcelower) {
           inputString = inputString.Trim();
           if (inputString == "") {
               return "";
           }
           if (forcelower) {
               inputString = inputString.ToLower();
           }
           String[] inputStringArray=inputString.Split(' ');
           StringBuilder sb = new StringBuilder();
           for (int i = 0; i < inputStringArray.Length;i++ )
           {
               if (inputStringArray[i].Length > 0) {
                   sb.Append(inputStringArray[i] = inputStringArray[i].Substring(0, 1).ToUpper() + inputStringArray[i].Substring(1));
                   sb.Append(" ");
               }

           }
           return sb.ToString(); ;
       }
    }

?λ表达示由3个部分组成:

1.放在括号中的参数列表(未类型化)

2.=>(运算符)

3.c#相关语句

实例如下:

myTimer.Elapsed+=(source,e)=>Cosole.WriteLine("      xxxxxx");

?