Ok, I'm extrapolating based on limited data, but the fact that you are asking between a list of structs and a dataset implies to me that you're somewhat new to C# and have not been introduced to the fact that a struct is a ValueType and therefore lives on the stack. You have probably heard that a struct grants you "better performance" somewhere, and want to get the best performance you can for your list of 8000 items.
First, I believe that you are prematurely optimizing. Don't. Do whatever works within the scope of your program. If you are building this list of 8000 items yourself programmatically, perhaps from an XML or flat file, I'd suggest you use a list of objects, as that will be the easiest for you to program against. Your post does not imply that you have a relationship between two tabular sets of data, so a DataSet would be unnecessary.
That said, if you are receiving that list from the database somehow, and your current data layer is ADO.NET 2.0 (and therefore returns DataSets and DataTables), then I'd say use that. If you are receiving the list from the database but your data layer is not yet defined, I would suggest you look into LINQ to SQL or Entity Framework.
Again, I caution you against prematurely optimizing, especially given that you don't appear to understand how structs work. Again this is an assumption and I apologize in advance if I am wrong.