The course is part of this learning path
This course uses file reading and writing as a vehicle to illustrate important data validation concepts when mapping text data to objects and receiving user input. It demonstrates many of the essential elements present in business applications, that is: ingesting data from an external source, enabling users to modify that data, and saving the data back to permanent storage.
Robust and well-designed apps, especially concerning the user interface, need to validate input in terms of data format and applicability and provide feedback when entered data is not appropriate. We round off the course by implementing the data access layer design pattern that will enable the code to be easily adapted to other data sources.
Learning Objectives
- Read planet data from a text file into a list of planet objects within a solar system object
- Create a basic command-line user interface with data validation and feedback that writes updated planet data back to file
- Take the file reading and writing functionality and split it out into a class that returns planet objects so you can easily change data sources in the future
Intended Audience
This course is ideal for anyone who already has some basic knowledge of C# and is looking to expand on that by learning about lists and files within the programming language.
Prerequisites
The ideal prerequisite for this course is our C# Loops Deep Dive course, but if you know what the .NET List class is and how to create one, then you’ll be able to follow along with these lectures and demonstrations.
Resources
Demo source code: https://github.com/cloudacademy/csharp-lists-and-files
In this course, we will build an application to read a list of planet names and distances from a file into a solar system object and display the planet data. Once we have the planets loaded, we'll enable the user to change some information about a planet and then save the updated solar system data back to file. The next phase will implement .NET's configuration functionality to make accessing the data file more flexible. The final evolution of the application is to future-proof how we read external data so we can easily change the data source with minimal impact on the rest of the code.
In learning how to read external data and enable simple user interaction, we will touch on new concepts and language features apart from those necessary just to get the job done.
Hallam is a software architect with over 20 years experience across a wide range of industries. He began his software career as a Delphi/Interbase disciple but changed his allegiance to Microsoft with its deep and broad ecosystem. While Hallam has designed and crafted custom software utilizing web, mobile and desktop technologies, good quality reliable data is the key to a successful solution. The challenge of quickly turning data into useful information for digestion by humans and machines has led Hallam to specialize in database design and process automation. Showing customers how leverage new technology to change and improve their business processes is one of the key drivers keeping Hallam coming back to the keyboard.