Spring – Rev 1
?pathlinks?
using System.Collections.Generic;
namespace Spring.Utilities
{
public static class Extensions
{
#region Public Methods
/// <summary>
/// Determines if the sequence a is contained within b.
/// </summary>
/// <typeparam name="T">an equatable type</typeparam>
/// <param name="a">the first sequence</param>
/// <param name="b">the second sequence</param>
/// <returns>true if the first sequence is contained within the second sequence</returns>
public static bool SequenceContains(this IEnumerable<dynamic> a, IEnumerable<dynamic> b)
{
using (var ea = a.GetEnumerator())
{
using (var eb = b.GetEnumerator())
{
var aea = ea.MoveNext();
var aeb = eb.MoveNext();
while (aea && aeb)
{
var eac = ea.Current;
var ebc = eb.Current;
if (eac.Equals(ebc))
{
aea = ea.MoveNext();
aeb = eb.MoveNext();
continue;
}
aeb = eb.MoveNext();
}
return !aea;
}
}
}
#endregion
}
}