Показаны сообщения с ярлыком LINQ. Показать все сообщения
Показаны сообщения с ярлыком LINQ. Показать все сообщения

04.09.2019

C#: Поиск элементов в списке строк без учета регистра

Небольшое, но полезное расширение для List<string>, позволяющее осуществлять поиск элементов в списке строк без учета регистра:
public static bool Contains(this string target, string value, StringComparison comparison)
{
    return target.IndexOf(value, comparison) >= 0;
}

09.02.2013

LINQ: Быстрое приведение списка одного типа к другому

Пример приведения списка одного типа к другому:
List class1List = new List();
/* заполняем список */

List = class1List.Select(r => new Class2(){ Id = r.Id /*заполняем другие свойства*/}).ToList();

28.01.2013

Расширения для LINQ - morelinq. Как написать расширение LINQ DistinctBy.

Библиотека методов LINQ, которых так не хватало - morelinq.
В частности, очень пригодился DistinctBy.
Тем не менее, DistinctBy очень просто реализовать:
public static IEnumerable<T> DistinctBy<T, K> (this IEnumerable<T> obj, Func<T, K> keySelector)
{
 HashSet<K> keys = new HashSet<K>();
 foreach (T element in obj)
  if (keys.Add(keySelector(element)))
   yield return element;
}