NameExtensions.cs 692 B

123456789101112131415161718192021222324252627
  1. #nullable enable
  2. #pragma warning disable CS1591
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using MediaBrowser.Controller.Extensions;
  7. namespace MediaBrowser.Controller.Library
  8. {
  9. public static class NameExtensions
  10. {
  11. private static string RemoveDiacritics(string? name)
  12. {
  13. if (name == null)
  14. {
  15. return string.Empty;
  16. }
  17. return name.RemoveDiacritics();
  18. }
  19. public static IEnumerable<string> DistinctNames(this IEnumerable<string> names)
  20. => names.GroupBy(RemoveDiacritics, StringComparer.OrdinalIgnoreCase)
  21. .Select(x => x.First());
  22. }
  23. }