public void Add(string datum)
{
if (_i == 0)
{
// initialize _input_array
Int32[] lowerBounds = { 1, 1 };
Int32[] lengths = { _rows, _cols };
_input_array = (object[,])Array.CreateInstance(typeof(object), lengths, lowerBounds);
}
var pair = OneDToTwoD(_i);
var col_idx = pair.Item1;
var row_idx = pair.Item2;
_input_array[col_idx, row_idx] = datum;
_i++;
}