IEnummerableExtension.cs 539 B

123456789101112131415161718192021
  1. using System;
  2. using System.Collections;
  3. namespace Avalonia.Markup.UnitTests
  4. {
  5. internal static class IEnumerableExtensions
  6. {
  7. public static object ElementAt(this IEnumerable source, int index)
  8. {
  9. var i = -1;
  10. var enumerator = source.GetEnumerator();
  11. while (enumerator.MoveNext() && ++i < index);
  12. if (i == index)
  13. {
  14. return enumerator.Current;
  15. }
  16. throw new ArgumentOutOfRangeException(nameof(index));
  17. }
  18. }
  19. }