C# IEnumerable Nedir?
C# IEnumerable Extensions, C#’da farkında olarak ya da olmayarak sıkça IEnumerable’dan türemiş nesneleri kullanmaktayız. Peki nedir bu IEnumerable sorusuna cevap verecek olursak, IEnumerable interface’i bizlere bir collection üzerinde iterasyon yapabilmemize imkan sağlamaktadır.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | public static class IEnumerableExtension { public static String Join(this IEnumerable<String> values, String separator) => string.Join(separator, values); /// <summary> /// <see cref="IEnumerable{T}"/> türündeki veri kümesini <paramref name="splitCount"/> parametresinde belirttiğiniz /// değere göre parçalara ayırmak için kullanabilirsiniz. /// </summary> /// <typeparam name="T">Veri kümesinin her bir türü.</typeparam> /// <param name="values">Veri kümesi.</param> /// <param name="splitCount"><paramref name="values"/> veri kümesinin parçalanacağı sayıyı belirtmelisiniz.</param> /// <returns></returns> public static IEnumerable<IEnumerable<T>> Split<T>(this IEnumerable<T> values, int splitCount) { var count = values.Count() / splitCount; var remainingCount = values.Count() % splitCount; for (int i = 0; i < count; i++) yield return values.Skip(i * splitCount).Take(splitCount); yield return values.Skip(count * splitCount).Take(remainingCount); } } |