Hey all,
I've written a stock analysis program in Excel's VBA, but I've decided to port the program to VB.net. And by port I mean... recreate, more like. A few problems in Excel inspired me to make the switch. 1. dealing with large amounts of data was SLOW. Especially things as simple as saving my file took about 25 seconds. 2. the methods for downloading files off the internet and importing them were flawed, slow and unwieldy. Other things too, but I digress.
THE QUESTION
VB.net is really confusing to me on the subject of data storage. In Excel VBA I used massive arrays to store all my data in memory. However, since redim preserve is gone (or out of vogue?), what kind of data structure in VB.net is best suited for holding large quantities of dynamically resizeable data? So far I've encountered Collections (like StringCollection), arraylist, dataset (read about on this forum), and a few more. I'm having trouble understanding the difference between all of these; and most importantly, I haven't found any posts on this forum or elsewhere espousing the relative speed of storing data to, and accessing from all these structures.
MORE INFORMATION
What does the data look like? I'm downloading .csv (OHLC) files from the interwebs that contain ~5-7 columns of data that will range from 400 to 3600 entries in each file; and there will be 500 to 3000 files. On top of that, my program will be effectively adding columns parallel to these files (probably in new files..). Just as an example: I load the basic stock data for MSFT. From that data I generate a new index, the RSI for example (a stock analysis index), and I save the RSI data in a new file. I want to calculate the RSI for every entry of every stock file. Make sense?
So you know where I'm coming from--I'd call myself an expert beginner. I've programmed in C, C++, VB6, etc, but never really mastered much of the technical aspects of any language. I'm new to the .NET framework. I *know* what I'm describing is essentially a relational database, but I really would prefer not using SQL or other true database structures.
LASTLY. Honestly the hardest thing about this transition is the difference in the built-in help files. In excel VBA everything was extremely well described and documented, with examples. In VB.NET I've run into alot of poorly documented "namespace/class" style help files that remind me more of old clunky C++ rather than VB6. What do you all use as reference?
I've written a stock analysis program in Excel's VBA, but I've decided to port the program to VB.net. And by port I mean... recreate, more like. A few problems in Excel inspired me to make the switch. 1. dealing with large amounts of data was SLOW. Especially things as simple as saving my file took about 25 seconds. 2. the methods for downloading files off the internet and importing them were flawed, slow and unwieldy. Other things too, but I digress.
THE QUESTION
VB.net is really confusing to me on the subject of data storage. In Excel VBA I used massive arrays to store all my data in memory. However, since redim preserve is gone (or out of vogue?), what kind of data structure in VB.net is best suited for holding large quantities of dynamically resizeable data? So far I've encountered Collections (like StringCollection), arraylist, dataset (read about on this forum), and a few more. I'm having trouble understanding the difference between all of these; and most importantly, I haven't found any posts on this forum or elsewhere espousing the relative speed of storing data to, and accessing from all these structures.
MORE INFORMATION
What does the data look like? I'm downloading .csv (OHLC) files from the interwebs that contain ~5-7 columns of data that will range from 400 to 3600 entries in each file; and there will be 500 to 3000 files. On top of that, my program will be effectively adding columns parallel to these files (probably in new files..). Just as an example: I load the basic stock data for MSFT. From that data I generate a new index, the RSI for example (a stock analysis index), and I save the RSI data in a new file. I want to calculate the RSI for every entry of every stock file. Make sense?
So you know where I'm coming from--I'd call myself an expert beginner. I've programmed in C, C++, VB6, etc, but never really mastered much of the technical aspects of any language. I'm new to the .NET framework. I *know* what I'm describing is essentially a relational database, but I really would prefer not using SQL or other true database structures.
LASTLY. Honestly the hardest thing about this transition is the difference in the built-in help files. In excel VBA everything was extremely well described and documented, with examples. In VB.NET I've run into alot of poorly documented "namespace/class" style help files that remind me more of old clunky C++ rather than VB6. What do you all use as reference?