Lambda独特选择
这个问题在这里已经有了答案:
  如果您不在类中重写Equals和GetHashCode ,或者提供自定义的相等比较器,则Distinct方法使用默认的相等比较器作为类型。并且它通过引用来比较引用类型。  不是通过属性值。  如果你不希望这种行为覆盖你的类中的相关方法,或者如果你不能改变类实现一个类型的IEqualityComparer并传递给Distinct : 
var ResourceTypeNameList = Resources
   .Select(r => new bl_SelectBox{ text=r.ResourceTypeName, value=r.resourceTypeID })
   .Distinct(new MyEqualityComparer());
  另一个快速解决方案是使用GroupBy : 
var ResourceTypeNameList = Resources
  .Select(r => new bl_SelectBox{ text=r.ResourceTypeName, value=r.resourceTypeID })
  .GroupBy(x => x.SomeProperty)
  .Select(x => x.First());
