NameExtensions.cs 700 B

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