Modules.cs 714 B

123456789101112131415161718192021222324252627
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. public static class Module {
  6. /// <summary>
  7. /// 将 List 随机打乱。
  8. /// </summary>
  9. public static List<T> Shuffle<T>(this List<T> list, Random random = null) {
  10. random ??= new Random();
  11. for (int i = 0; i < list.Count; i++) {
  12. int randomIndex = random.Next(list.Count);
  13. (list[randomIndex], list[i]) = (list[i], list[randomIndex]);
  14. }
  15. return list;
  16. }
  17. /// <summary>
  18. /// 可自我返回的 Sort 扩展方法。
  19. /// </summary>
  20. public static List<T> SortAndReturn<T>(this List<T> list) {
  21. list.Sort();
  22. return list;
  23. }
  24. }