C#, like most programming languages, can make decisions. You can create a C# program that reads your data and automatically performs the tasks you need. Depending on the attributes of the information it's processing, a C# program can skip sections of code, run other C# programs (subroutines), and repeat sections of code just as many times as necessary to process the data. If you've used other programming languages, these powerful functions will be familiar friends: