LINQ: Отличные значения

это очень просто. Используйте приведенный ниже код, это работает для меня. Здесь я использовал fontawesome icon, но вы можете использовать что угодно как изображение или любой другой код Icon.

$(document).ready(function(){
    $('.slider').slick({
        autoplay:true,
        arrows: true,
        prevArrow:"<button type='button' class='slick-prev pull-left'><i class='fa fa-angle-left' aria-hidden='true'></i></button>",
        nextArrow:"<button type='button' class='slick-next pull-right'><i class='fa fa-angle-right' aria-hidden='true'></i></button>"
    });
});
132
задан balint 15 June 2009 в 19:57
поделиться

3 ответа

Вы пытаетесь отличаться более чем по одному полю? Если это так, просто используйте анонимный тип и оператор 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<TSource> DistinctBy<TSource, TKey>(
     this IEnumerable<TSource> source,
     Func<TSource, TKey> keySelector,
     IEqualityComparer<TKey> comparer)
 {
     HashSet<TKey> knownKeys = new HashSet<TKey>(comparer);
     foreach (TSource element in source)
     {
         if (knownKeys.Add(keySelector(element)))
         {
             yield return element;
         }
     }
 }

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

213
ответ дан 24 November 2019 в 00:09
поделиться

В дополнение к ответу Джона Скита вы также можете использовать выражения group by для получения уникальных групп по счетчику для каждой итерации групп:

var query = from e in doc.Elements("whatever")
            group e by new { id = e.Key, val = e.Value } into g
            select new { id = g.Key.id, val = g.Key.val, count = g.Count() };
26
ответ дан 24 November 2019 в 00:09
поделиться

Просто используйте Distinct () со своим компаратором.

http://msdn.microsoft.com/en-us/library/bb338049.aspx

33
ответ дан 24 November 2019 в 00:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: