System.Data.Select.GetLinearFilteredRows C# (CSharp) Method

GetLinearFilteredRows() private method

private GetLinearFilteredRows ( Range range ) : System.Data.DataRow[]
range Range
return System.Data.DataRow[]
        private DataRow[] GetLinearFilteredRows(Range range)
        {
            DataRow[] resultRows;
            if (_linearExpression == null)
            {
                return _index.GetRows(range);
            }

            List<DataRow> matchingRows = new List<DataRow>();
            RBTree<int>.RBTreeEnumerator iterator = _index.GetEnumerator(range.Min);
            for (int i = 0; i < range.Count && iterator.MoveNext(); i++)
            {
                if (AcceptRecord(iterator.Current))
                {
                    matchingRows.Add(_table._recordManager[iterator.Current]);
                }
            }
            resultRows = _table.NewRowArray(matchingRows.Count);
            matchingRows.CopyTo(resultRows);
            return resultRows;
        }