wasSharp

Subversion Repositories:
Compare Path: Rev
With Path: Rev
?path1? @ 46  →  ?path2? @ 45
/Linq.cs
@@ -36,27 +36,25 @@
if (@case.Length % 2 != 0)
throw new ArgumentException("Pairs of predicates expected.");
 
var enumerable = query as IList<T> ?? query.ToList();
using (var iter = enumerable.GetEnumerator())
try
{
while (iter.MoveNext())
var enumerable = query as IList<T> ?? query.ToList();
using (var iter = enumerable.GetEnumerator())
{
var match = false;
for (var i = 0; i < @case.Length; i += 2)
while (iter.MoveNext())
{
if (!@case[i].Invoke(iter.Current))
continue;
 
if (@case[i + 1].Invoke(iter.Current))
return;
 
match = true;
for (var i = 0; i < @case.Length; i += 2)
{
if (@case[i].Invoke(iter.Current) && @case[i + 1].Invoke(iter.Current))
throw new Exception();
}
}
 
if (!match)
@default.Invoke(iter.Current);
}
@default.Invoke(enumerable.Last());
}
catch
{
}
}
 
///////////////////////////////////////////////////////////////////////////