1. 相关概念:
  2. 如何使用:
  3. 三者间的关系:

相关概念:
 什么是委托?
    关于委托是什么及如何使用,网上及博客园里有很多相关介绍, 这里我不再赘述。委托是一种引用方法的类型(MSDN)。
 什么是匿名方法?
    我理解为是委托的一种实现方式,也是一种匿名函数。区别于正式签名方法,匿名方法不必创建单独的方法,减少了实例化委托所需的编码系统开销(MSDN)。
 什么是 Lambda 表达式:
    其实质上是一个匿名函数(MSDN

如何使用:
    相关使用方法已在相关 MSDN 上有介绍,这里我贴一段 冒泡排序算法的实现代码,相关使用方法在注释里()。
        //声明委托 
        delegate string getText(int[] arr);
        
private void dowork() {

            
//使用匿名方法
            getText toString = delegate(int[] arr)
            {
                
string result = "";
                
//int temp = 0;
                foreach (var i in arr)
                {
                    result 
+= string.Format("{0} ,", i);
                }
                
return result;
            };

            
// lambda 表达式 
            getText Sort = (int[] arr) => {
                
string result = "";
                
for (int i = 1; i < arr.Length; i++) {
                    
if (arr[i - 1> arr[i])
                    {
                        
int temp = arr[i-1];
                        arr[i 
- 1= arr[i];
                        arr[i] 
= temp;
                    }
                }
                
//使用匿名方法 
                result = toString(arr);
                
return result;
            };
            
            
int[] arrInt = { 2186712 };
            
string text = toString(arrInt) + "\r\n" + Sort(arrInt); ;
            tbdebug.Text 
+= text;
        }

相关文章: