DarkUI.Net5/DarkUI/Extensions/IEnumerableExtensions.cs
2015-09-19 14:39:06 +01:00

32 lines
858 B
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace DarkUI
{
internal static class IEnumerableExtensions
{
internal static bool IsLast<T>(this IEnumerable<T> items, T item)
{
var last = items.LastOrDefault();
if (last == null)
return false;
return item.Equals(last); // OR Object.ReferenceEquals(last, item)
}
internal static bool IsFirst<T>(this IEnumerable<T> items, T item)
{
var first = items.FirstOrDefault();
if (first == null)
return false;
return item.Equals(first);
}
internal static bool IsFirstOrLast<T>(this IEnumerable<T> items, T item)
{
return items.IsFirst(item) || items.IsLast(item);
}
}
}