public static void NotNullOrEmpty()

in src/Microsoft.VisualStudio.Validation/Assumes.cs [71:91]


        public static void NotNullOrEmpty<T>([ValidatedNotNull, NotNull]IEnumerable<T>? values)
        {
            Assumes.NotNull(values);

            bool isEmpty;
            if (values is ICollection<T> collection)
            {
                isEmpty = collection.Count == 0;
            }
            else if (values is IReadOnlyCollection<T> readOnlyCollection)
            {
                isEmpty = readOnlyCollection.Count == 0;
            }
            else
            {
                using IEnumerator<T> enumerator = values.GetEnumerator();
                isEmpty = !enumerator.MoveNext();
            }

            Assumes.False(isEmpty);
        }