<PackageReference Include="Relativity.Server.Import.SDK" Version="2.9.2" />

CollectionExtensions

static class CollectionExtensions
Defines typed IEnumerable extension methods.
using System; using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using System.Linq; namespace Relativity.DataExchange { internal static class CollectionExtensions { public static string ToCsv<T>(this IEnumerable<T> sequence) { return sequence.ToCsv((T arg) => arg.ToString()); } public static string ToCsv<T>(this IEnumerable<T> sequence, Func<T, string> itemStringifier) { return sequence.ToDelimitedString(",", itemStringifier); } public static string ToDelimitedString<T>(this IEnumerable<T> sequence, string delimiter, Func<T, string> itemStringifier) { if (itemStringifier == null) throw new ArgumentNullException("itemStringifier"); if (sequence == null) return null; return string.Join(delimiter, sequence.Select(itemStringifier)); } [SuppressMessage("Microsoft.Design", "CA1026:DefaultParametersShouldNotBeUsed", Justification = "For backwards compatibility concerns.")] public static string ToDelimitedString<T>(this IEnumerable<T> sequence, string delimiter = ",", string bound = "", string cellFormat = "{0}") { return sequence.ToDelimitedString(delimiter, (T x) => string.Format(bound + cellFormat + bound, x.ToString())); } public static bool IsNullOrEmpty<T>(this IEnumerable<T> sequence) { if (sequence != null) return !sequence.Any(); return true; } public static bool In<T>(this T source, params T[] collection) { return collection.Contains(source); } public static IEnumerable<T> GetRange<T>(this IEnumerable<T> items, int beginIndex, int length) { T[] array = new T[length]; List<T> list = items.ToList(); for (int i = beginIndex; i <= beginIndex + length - 1; i++) { array[i] = list[i]; } return array; } } }