ServerManagers/src/ServerManager.Updater/Extensions/IEnumerableExtensions.cs
Brett Hewitson dd431e93b2 Changed the discord bot to be case insensitive.
Added IsEmpty and HasOne IEnumerable Extensions.
2021-12-17 15:27:52 +10:00

47 lines
1.1 KiB
C#

using System;
using System.Collections.Generic;
namespace ServerManagerTool.Updater
{
public static class IEnumerableExtensions
{
public static bool IsEmpty<TSource>(this IEnumerable<TSource> source)
{
if (source == null)
{
throw new ArgumentNullException(nameof(source));
}
using (IEnumerator<TSource> enumerator = source.GetEnumerator())
{
if (enumerator.MoveNext())
{
return false;
}
}
return true;
}
public static bool HasOne<TSource>(this IEnumerable<TSource> source)
{
if (source == null)
{
throw new ArgumentNullException(nameof(source));
}
var count = 0;
using (IEnumerator<TSource> enumerator = source.GetEnumerator())
{
while (enumerator.MoveNext())
{
if (++count > 1)
return false;
}
}
return count == 1;
}
}
}