That way you can reuse the same stuff and display it to the user in multiple ways, potentially console and GUI.
That's why I prefer to load the contents/data into a class with properties, such as surname, firstName, etc.
This way, even in a console, indidual properties, can be displayed, depending on what the user inputs (into a GUI or console).
Another technique would be to avoid multiple properties. Just have a single property, called, "fullLineContents", in the class. Then if you call, GetSurname(), it will "extract" the surname out of the entire line contents. This method will be slower though, due to the extra processing required, at the point GetSurname(), is called.
Console apps still have their place, if you're doing stuff through batch files for instance a console app is a natural place to do things as it's a simple executable and doesn't have any external user interfaces to display other than the already open console window.
Ok. Batch files - I'll give you that one.
Similarly we use a console app at work to host our WCF services when we want to run them locally. That sort of stuff has no place in a GUI and a console app is a handy way of doing things rather than having to deploy a windows service.
GUIs are good for lots of things, but there are also many other things that they're not at all good for.
I'm not saying you are wrong or even arguing against the use of console based programming in its entirity, however, I would like to what advantages you would get by using a console vs a pretty/user friendly GUI?
I'll kick this off by giving you the advantages of GUI:
1. You can display output in a format which is easier for the user to understand.
2. A GUI can improve user friendliness, in that anybody who is not trained to read console output, could (potentially), read the contents of the output, with ease, with a GUI.
3. With a GUI, you gain the use of clickable buttons and mouse.
4. With a GUI, you can have multiple display boxes, each displaying different pieces of data. When using threads, this is VERY important. If you use multiple consoles, you will eventually run out of screen space, while a GUI can potentially display all the windows/data, in a smaller screen size.
5. For the visually impaired, you can use different font sizes on GUIs, while with a console, you are limited.
6. Speed of use: if you have to type commands into a console, you may to type out long strings, without any mistakes. On a GUI, you can create a button, which is able to execute the entire string, with a single button press.
There are many more advantages, but I want to know of the advantages of a console (for future reference). I've seen many developers shun GUIs, to use consoles instead and there must be a reason for this...I just haven't worked it out yet and need a little help here.
Thanks