2014-11-06 3 views
0

У меня есть файл данных с миллионами строк, и я хотел его прочитать и сохранить в структуре.Struct хранить большой кусок данных

public struct Sample 
{ 
    public int A; 
    public DateTime B; 
} 

Sample[] sample = new Sample[]; 

Это определение дает мне эту ошибку "неверное число indicies внутри []; ожидаемый 1"

Как хранить данные в структуры (с меньшим использованием памяти)? Массив - это что-то другое?

var reader = new StreamReader(File.OpenRead(@"C:\test.csv")); 
while (!reader.EndOfStream) 
{ 
    var line = reader.ReadLine(); 
    var values = line.Split(';'); 
} 
+0

Необходимо указать размер массива. –

+0

Как я упоминал ранее, я просматриваю файл. не знаю точного размера! – CoolArchTek

ответ

0

Чтобы выделить массив, вам нужно указать, сколько элементов оно содержит. Это то, о чем вам говорит ошибка.

Если вы не знаете размер, вы можете использовать List<T>, который будет расти по мере необходимости. Внутренне List<T> реализован с использованием T[], что означает, что с точки зрения точки ожидания он действует как массив. Однако работа по перераспределению больших массивов по мере необходимости обрабатывается List<T>.

Смежные вопросы