一个很菜的问题希望好心人能解答!
C# 入门经典(第三版)  第12章 泛型  
全文在下面的链接中  
http://book.csdn.net/bookfiles/30/10030856.shtml  
当中的例子 CH12Ex03  
.  
.  
.  
(7) 添加一个新类VectorDelegates。  
(8) 修改VectorDelegates.cs中的代码,如下所示:  
public static class VectorDelegates  
{  
public static int Compare(Vector x, Vector y)  
{  
if (x.R > y.R)  
{  
return 1;  
}  
else if (x.R < y.R)  
{  
return -1;  
}  
return 0;  
}  
public static bool TopRightQuadrant(Vector target)  
{  
if (target.Theta >= 0.0 && target.Theta <= 90.0)  
{  
return true;  
}  
else  
{  
return false;  
}  
}  
}  
(9) 修改Program.cs中的代码,如下所示:  
static void Main(string[] args)  
{  
Vectors route = new Vectors();  
route.Add(new Vector(2.0, 90.0));  
route.Add(new Vector(1.0, 180.0));  
route.Add(new Vector(0.5, 45.0));  
route.Add(new Vector(2.5, 315.0));  
Console.WriteLine(route.Sum());  
Comparison <Vector> sorter = new Comparison <Vector>(VectorDelegates.Compare);  
route.Sort(sorter);  
Console.WriteLine(route.Sum());  
Predicate <Vector> searcher =  
new Predicate <Vector>(VectorDelegates.TopRightQuadrant);  
Vectors topRightQuadrantRoute = new Vectors(route.FindAll(searcher));  
Console.WriteLine(topRightQuadrantRoute.Sum());  
Console.ReadKey();  
}  
.  
.  
.  
红色字体的部分,不明白!  
Comparison 泛型委托  
Comparison <Vector> sorter = new Comparison <Vector>(VectorDelegates.Compare);  
表示比较同一类型的两个对象的方法。  返回值  0, <0 ,>0  
那实例化的sorter是什么呢?  
当中的参数VectorDelegates.Compare........真的不理解!  
太多的疑问了,请好心人帮忙答疑解惑!  
------解决方案--------------------首先没看到红色字体
Comparison <Vector> sorter = new Comparison <Vector>(VectorDelegates.Compare);  
这个不是一个构造吗?
------解决方案--------------------泛型 很好用  功能很强大  不过我也在学习中
帮你UP下!
------解决方案--------------------Comparison是委托对吧,所以正常情况下使用委托就是  
Comparison <Vector> sorter = new Comparison <Vector>(VectorDelegates.Compare);  
根据一个函数生成这个委托,你也可以这么写
route.Sort(VectorDelegates.Compare);
还可以这么写
route.Sort(delegate(Vector x, Vector y)  
{  
   if (x.R > y.R)  
   {  
   return 1;  
   }  
   else if (x.R < y.R)  
   {  
   return -1;  
   }  
   return 0;  
});
------解决方案--------------------Comparison<T> 泛型委托表示比较同一类型的两个对象的方法。
此委托由 Array 类的 Sort<(Of <(T>)>)(array<T>[]()[], Comparison<(Of <(T>)>)) 方法重载和 List<(Of <(T>)>) 类的 Sort(Comparison<(Of <(T>)>)) 方法重载使用,用于对数组或列表中的元素进行排序。
------解决方案--------------------List的Sort()方法其中一个重载是接受泛型委托作为参数
CompareDinosByLength是一个方法,作为参数传到List的Sort()中
------解决方案--------------------