rimworld-animation-studio/Assets/Scripts/Extensions/IListExtensions.cs

37 lines
717 B
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
public static class IListExtensions
{
public static bool NullOrEmpty<T>(this IList<T> list)
{
return list == null || list.Any() == false;
}
public static bool NotNullOrEmpty<T>(this IList<T> list)
{
return NullOrEmpty<T>(list) == false;
}
public static void AddDistinct<T>(this IList<T> list, T item)
{
if (item == null || list.Contains(item))
{ return; }
list.Add(item);
}
public static void AddRangeDistinct<T>(this IList<T> list, IEnumerable<T> collection)
{
if (collection == null)
{ return; }
foreach(T item in collection)
{ AddDistinct(list, item); }
}
}