Я использую массив для хранения результатов запроса SQLite, сейчас я использую двумерную таблицу для этого.
Проблема, с которой я столкнулся, заключается в том, что я должен вручную указать размер одного из индексов, прежде чем массив можно будет использовать, но это похоже на пустую трата времени, поскольку я не знаю, сколько строк будет возвращено. Я использую свойство, которое позволяет мне получить количество присутствующих столбцов, которое используется при инициализации массивов.
Пример:
using (SQLiteDataReader dr = cmd.ExecuteReader())
{
results = new object[10,dr.FieldCount];
while (dr.Read())
{
jIterator++;
for (int i = 0; i < dr.FieldCount; i++)
{
results[jIterator, i] = dr.GetValue(i);
}
}
}
//I know there are a few count bugs
Пример хранилища:

Я просто добавляю данные в массив до тех пор, пока цикл while возвращает true, в этом случае я устанавливаю для первого индекса значение 10, поскольку я уже знаю, сколько элементов в базе данных, и 10 будет более чем достаточно.
Как бы я изменил массив, чтобы его размер мог быть динамическим? Возможно ли это даже в зависимости от того, как я получаю результаты базы данных?