ListExtension.cs 789 B

12345678910111213141516171819202122232425262728293031
  1. using System.Collections.Generic;
  2. namespace MafiaTelegramBot.CustomCollections.Extensions
  3. {
  4. public static class ListExtension
  5. {
  6. public static T GetAndRemove<T>(this List<T> list, int index)
  7. {
  8. var value = list[index];
  9. list.RemoveAt(index);
  10. return value;
  11. }
  12. public static void AddTimes<T>(this List<T> list, T item, int times)
  13. {
  14. for (var i = 0; i < times; ++i) list.Add(item);
  15. }
  16. public static List<T> Copy<T>(this List<T> list)
  17. {
  18. return new(list);
  19. }
  20. public static bool AddUnique<T>(this List<T> list, T item)
  21. {
  22. if (list.Contains(item)) return false;
  23. list.Add(item);
  24. return true;
  25. }
  26. }
  27. }