using System; using System.Collections.Generic; using System.Linq; namespace AlicizaX { [UnityEngine.Scripting.Preserve] public static class EnumerableExtensions { /// /// 根据指定键进行去重。 /// [UnityEngine.Scripting.Preserve] public static IEnumerable DistinctBy(this IEnumerable source, Func keySelector) { var identifiedKeys = new HashSet(); foreach (var item in source) { if (identifiedKeys.Add(keySelector(item))) { yield return item; } } } /// /// 判断集合是否包含另一个集合中的所有元素。 /// public static bool ContainsAll(this IEnumerable source, IEnumerable values) { return !source.Except(values).Any(); } } }