首页 新闻 搜索 专区 学院

请大哥们帮解释一下下,C#中一行代码,小弟看不懂!IComparer接口,集合

0
悬赏园豆:20 [已解决问题] 解决于 2013-09-02 15:54

public class PersonComparerName : IComparer
{
public static IComparer Default = new PersonComparerName();//这一行看不懂

public int Compare(object x, object y)
{
if (x is Person && y is Person)
{
return Comparer.Default.Compare(((Person)x).Name, ((Person)y).Name);
}
else
{
throw new ArgumentException(".....");
}
}
}

wwmylove的主页 wwmylove | 初学一级 | 园豆:2
提问于:2013-09-02 15:32
< >
分享
最佳答案
0

创建一个 PersonCmparerName 的静态实例。

严格的写法应该是:

public static readonly IComparer Default = new PersonComparerName();//这一行看不懂

我猜测他想实现 PersonComparerName 的单例模式。

收获园豆:10
Launcher | 高人七级 |园豆:45045 | 2013-09-02 15:36

应该不是想单例,只是作者想在linq.Distinct(PersonComparerName.Default)这种写法。而已。

````` | 园豆:14268 (专家六级) | 2013-09-02 15:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册