Bootstrap 3.0.0 - что такое замена bootstrap-responseive.css?

Вы пытаетесь отличаться более чем одним полем? Если это так, просто используйте анонимный тип и оператор Distinct, и все должно быть в порядке:

var query = doc.Elements("whatever")
               .Select(element => new {
                             id = (int) element.Attribute("id"),
                             category = (int) element.Attribute("cat") })
               .Distinct();

Если вы пытаетесь получить отличный набор значений «большего» типа, но только смотрите в некоторых подмножествах свойств для аспекта отличимости вы, вероятно, захотите DistinctBy, как реализовано в MoreLINQ в DistinctBy.cs :

 public static IEnumerable DistinctBy(
     this IEnumerable source,
     Func keySelector,
     IEqualityComparer comparer)
 {
     HashSet knownKeys = new HashSet(comparer);
     foreach (TSource element in source)
     {
         if (knownKeys.Add(keySelector(element)))
         {
             yield return element;
         }
     }
 }

( Если вы перейдете в null в качестве компаратора, он будет использовать сопоставитель по умолчанию для типа ключа.)

23
задан Hemant 28 August 2013 в 04:19
поделиться