Расширения для строки

  • Инфиксные IsNullOrEmpty, IsNullOrWhitespace, NotNullNorEmpty, NotNullNorWhitespace
  • Инфиксный Format
  • Инфиксный Join
  • Length, корректно работающий с null
  • NaturalStringComparer
  • Инфиксные формы для char
  • Дополнительные вариации Substring

    Расширения для XDocument

  • RequiredRoot, RequiredElement, RequiredAttribute
  • ElementValue, AttributeValue (required, optional, alternative names, type conversion etc)

    Расширения для рефлекшена

  • GetAssemblyPath
  • GetRequiredResourceStream
  • GetCustomAttribute<T>/GetCustomAttributes<T>/HasCustomAttribute
  • Enum: GetNames<T>, GetValues<T>, IsDefined<T>, Parse<T>, fast GetFlag
  • Advanced Activator.CreateInstance (required and optional parameters, default values etc)
  • Хелперы с использованием Expression по типу infoof для получения PropertyInfo, FieldInfo, MethodInfo и ConstructorInfo плюс для свойств и полей имена и полное имя (включая всю цепочку: a => a.User.Name вернет "User.Name")

    Расширения для коллекций

  • Concat<T>(T singleElement)
  • AsArray, AsList, AsHashSet
  • ToHashSet
  • Инфиксные формы для Array
  • FirstOrDefault with default value
  • Топологическая сортировка
  • MinItem/MaxItem
  • Array.EqualsTo

    Расширения для словарей

  • GetOrAdd, AddOrUpdate
  • GetValueOrDefault
  • KeyEqualityComparer

    Кеши, пулы

  • Словарь с ленивой инициализацией элементов, желательно потокобезопасный
  • ObjectPool
  • Memoize

    Расширения для IO

  • TempDir/TempFile/TempStream returns IDisposable

    Алгоритмы

  • lower_bound
  • upper_bound
  • equal_range
  • partition_point

    Прочее

  • Хелпер для сравнения текстовых данных
  • Хелпер для использования ReaderWriterLockSlim совместно с using
  • Хелпер для получения экземпляров пустых массивов без создания объекта каждый раз заново
  • Парсер CSV (experimental)
  • Парсер командной строки (experimental)
  • Ассерты ala Code.NotNull(someValue, "someValue");
  • Factory для Disposable, using(Disposable.Create(()=>OnDispose())) { }
  • Range<T>/CompositeRange<T> (experimental)
  • Небольшой набор для Func & Action. Часто требуется, например при сортировке создавать делегат, который возвращает сам себя: o => o
  • Хелпер для дампа куска массива байтов в строку и обратно
  • Option<T>
  • Swap
  • TupleStruct
  • Автор: AndrewVK    Оценить