private static void ProcessMatrix(AType searchWhat, SearchInfo searchInfo) { if (searchWhat.Shape.Count > searchInfo.SearchWhere[0].Shape.Count) { // Travers down to the correct cells foreach (AType item in searchWhat) { if (item.IsArray) { // Found an array, lets see if we can process it further ProcessMatrix(item, searchInfo); } else { // Simple Scalar found searchInfo.Result.AddWithNoUpdate(ProcessScalar(item, searchInfo)); } } } else if (searchWhat.Shape.SequenceEqual <int>(searchInfo.SearchWhere[0].Shape)) { // search for the cell int found = searchInfo.SearchWhere.Any(item => searchWhat.EqualsWithTolerance(item)) ? 1 : 0; searchInfo.Result.AddWithNoUpdate(AInteger.Create(found)); } else { throw new Error.Length(searchInfo.ErrorText); } }
private static void ProcessMatrix(AType searchWhat, SearchInfo searchInfo) { if (searchWhat.Shape.Count > searchInfo.SearchWhere[0].Shape.Count) { // Travers down to the correct cells foreach (AType item in searchWhat) { if (item.IsArray) { // Found an array, lets see if we can process it further ProcessMatrix(item, searchInfo); } else { // Simple Scalar found searchInfo.Result.AddWithNoUpdate(ProcessScalar(item, searchInfo)); } } } else if (searchWhat.Shape.SequenceEqual<int>(searchInfo.SearchWhere[0].Shape)) { // search for the cell int found = searchInfo.SearchWhere.Any(item => searchWhat.EqualsWithTolerance(item)) ? 1 : 0; searchInfo.Result.AddWithNoUpdate(AInteger.Create(found)); } else { throw new Error.Length(searchInfo.ErrorText); } }