Хорошо, я экстраполирую на основе ограниченных данных, но тот факт, что вы спрашиваете между списком структур и набором данных, подразумевает для меня, что вы несколько новичок в C # и не были ознакомлены с тем фактом, что struct является ValueType и, следовательно, живет в стеке. Вы, наверное, слышали, что структура предоставляет вам «лучшую производительность» где-то, и хотите получить максимальную производительность из списка из 8000 элементов.
Во-первых, я считаю, что вы преждевременно оптимизируете. Не. Делайте все, что работает в рамках вашей программы. Если вы создаете этот список из 8000 элементов самостоятельно программно, возможно, из XML или плоского файла, я бы предложил вам использовать список объектов , так как это будет самым простым для против вас. Ваше сообщение не означает, что у вас есть связь между двумя табличными наборами данных, поэтому набор данных будет ненужным.
Тем не менее, если вы каким-то образом получаете этот список из базы данных, а ваш текущий уровень данных - ADO.NET 2.0 (и поэтому возвращает DataSets и DataTables), то я бы сказал, использовать это. Если вы получаете список из базы данных, но уровень данных еще не определен, я бы посоветовал вам изучить LINQ to SQL или Entity Framework .
Опять же, я предостерегаю вас от преждевременной оптимизации, особенно если учесть, что вы не понимаете, как работают структуры. Опять же, это предположение, и я заранее извиняюсь, если ошибаюсь.