, boolean[][]:
:
bool[][] boolArrays1 = {
new[]{true, true, false, true},
new[]{false, true, false, true},
new[]{false, true, false, false},
};
bool[][] boolArrays2 = {
new[]{true, true, false, true},
new[]{false, false, false, true},
new[]{false, true, false, false},
};
Any All:
bool anyColumnTrue1 = Enumerable.Range(0, boolArrays1.Min(arr => arr.Length))
.Any(ix => boolArrays1.All(arr => arr[ix]));
bool anyColumnTrue2 = Enumerable.Range(0, boolArrays2.Min(arr => arr.Length))
.Any(ix => boolArrays2.All(arr => arr[ix]));
, , , :
public static bool AnyColumnTrue(this IEnumerable<IList<bool>> bools)
{
if (bools == null) throw new ArgumentNullException("bools");
return Enumerable.Range(0, bools.Min(seq => seq.Count))
.Any(ix => bools.All(arr => arr[ix]));
}
:
bool anyColumnTrue = boolArrays1.AnyColumnTrue();
, , :
bool anyColumnTrue = new[]{ A, A1, A2 }.AnyColumnTrue();