for , i, object[i] object[i+1]. ? ? ? foreach - . foreach for, .
:
:
public static bool ContainsSequence
(System.Collections.Generic.IList<object> list, params object[] seq)
{
for (int i = 0; i < list.Count() - seq.Count() + 1; i++)
{
int j;
for (j = 0; j < seq.Count(); j++)
{
if (list[i + j] != seq[j])
break;
}
if (j == seq.Count())
return true;
}
return false;
}
:
private static void Main(string[] args)
{
var A = new object();
var B = new object();
var C = new object();
var D = new object();
var list = new[] {A, B, C, D};
Console.WriteLine(ContainsSequence(list, B, C, D));
Console.WriteLine(ContainsSequence(list, A, D, C, B, A, C));
Console.WriteLine(ContainsSequence(list, A, B));
}
:
True
False
True
, , ( , - AndrewS .)
, int i true ( -1 false.)