Read our blogs, tips and tutorials
Try our exercises or test your skills
Watch our tutorial videos
Catch up on one of our webinars
Take a self-paced course
Read our recent newsletters
License our courseware
Book expert consultancy
Buy our publications
Get help in using our site
400 attributed reviews in the last 3 years
Refreshingly small course sizes
Outstandingly good courseware
Whizzy online classrooms
Wise Owl trainers only (no freelancers)
Almost no cancellations
We have genuine integrity
We invoice after training
Review 30+ years of Wise Owl
View our top 100 clients
Search our website
We also send out useful tips in a monthly email newsletter ...
You are welcome to try any of the 55 Visual C# exercises listed below, but please do not distribute them in any form without asking for our written permission first.
| Software: | Visual C# |
| Topic: | Creating forms |
| Level: | Relatively easy |
| Exercise: | Create a simple form, with two text boxes, two buttons and a GroupBox, to show one star sign. |
| Number: | 4795 |
| Software: | Visual C# |
| Topic: | Creating forms |
| Level: | Average difficulty |
| Exercise: | Draw a form allowing a dating agency candidate to enter their name and date of birth, and choose their sexuality from a drop list. |
| Number: | 4796 |
| Software: | Visual C# |
| Topic: | Laying out your code |
| Level: | Relatively easy |
| Exercise: | Create a C# program to display choices made in a message box. |
| Number: | 4798 |
| Software: | Visual C# |
| Topic: | Laying out your code |
| Level: | Average difficulty |
| Exercise: | Use C# to customise a message box title and caption from form entries. |
| Number: | 4799 |
| Software: | Visual C# |
| Topic: | C# variables |
| Level: | Relatively easy |
| Exercise: | Use variables and the Length property to show how long text is. |
| Number: | 4800 |
| Software: | Visual C# |
| Topic: | C# variables |
| Level: | Average difficulty |
| Exercise: | Create a private variable for a form to keep track of button clicks. |
| Number: | 4803 |
| Software: | Visual C# |
| Topic: | C# variables |
| Level: | Average difficulty |
| Exercise: | Display the sum of numbers entered in a calculator using variables. |
| Number: | 4802 |
| Software: | Visual C# |
| Topic: | Conditions |
| Level: | Relatively easy |
| Exercise: | Use C# if conditions to check a user has filled in a form. |
| Number: | 4808 |
| Software: | Visual C# |
| Topic: | Conditions |
| Level: | Average difficulty |
| Exercise: | Add lots of validation code to a form to check all controls filled in. |
| Number: | 4809 |
| Software: | Visual C# |
| Topic: | Modular code |
| Level: | Relatively easy |
| Exercise: | Write your own procedure to display a message box, with 2 arguments. |
| Number: | 4810 |
| Software: | Visual C# |
| Topic: | Modular code |
| Level: | Average difficulty |
| Exercise: | Write a C# function to return a person's BMI from their height/weight. |
| Number: | 4812 |
| Software: | Visual C# |
| Topic: | Modular code |
| Level: | Average difficulty |
| Exercise: | Write a function to return a man's oomph factor given various inputs. |
| Number: | 4811 |
| Software: | Visual C# |
| Topic: | Files and folders |
| Level: | Relatively easy |
| Exercise: | Use a StreamWriter to write data input to a text file. |
| Number: | 4817 |
| Software: | Visual C# |
| Topic: | Files and folders |
| Level: | Average difficulty |
| Exercise: | Write code to loop over files, reading lines to find hidden text. |
| Number: | 4818 |
| Software: | Visual C# |
| Topic: | Files and folders |
| Level: | Harder than average |
| Exercise: | Loop over all files/folders recursively to find biggest file. |
| Number: | 4819 |
| Software: | Visual C# |
| Topic: | Properties in C# |
| Level: | Relatively easy |
| Exercise: | Use read-only properties to process a dating agency application. |
| Number: | 4820 |
| Software: | Visual C# |
| Topic: | Properties in C# |
| Level: | Average difficulty |
| Exercise: | Create read-only properties for weight, height and BMI. |
| Number: | 4821 |
| Software: | Visual C# |
| Topic: | Properties in C# |
| Level: | Harder than average |
| Exercise: | Play snog, marry or avoid in C#, making heavy use of lists. |
| Number: | 4822 |
| Software: | Visual C# |
| Topic: | Using lists |
| Level: | Relatively easy |
| Exercise: | Write a C# program to create an integer list of the first few squares. |
| Number: | 4823 |
| Software: | Visual C# |
| Topic: | Using lists |
| Level: | Average difficulty |
| Exercise: | Create a list of dates falling on the 13th, then reduce this to Fridays. |
| Number: | 4825 |
| Software: | Visual C# |
| Topic: | Using lists |
| Level: | Average difficulty |
| Exercise: | Read a text file line by line into a string list, then print it back out. |
| Number: | 4824 |
| Software: | Visual C# |
| Topic: | Creating classes |
| Level: | Relatively easy |
| Exercise: | Create a class to hold an item in a shopping list, and use this to create a shopping list. |
| Number: | 4828 |
| Software: | Visual C# |
| Topic: | Creating classes |
| Level: | Relatively easy |
| Exercise: | Write a class to make existing code to display a football score work. |
| Number: | 4827 |
| Software: | Visual C# |
| Topic: | Creating classes |
| Level: | Harder than average |
| Exercise: | Play pairs: find identical owls in a grid by clicking, using classes. |
| Number: | 4830 |
| Software: | Visual C# |
| Topic: | The form as a class |
| Level: | Average difficulty |
| Exercise: | Create a Countdown game program, using a class to generate letters. |
| Number: | 4831 |
| Software: | Visual C# |
| Topic: | Data structures |
| Level: | Relatively easy |
| Exercise: | Use a list to add, remove, count and display the Beatles. |
| Number: | 4832 |
| Software: | Visual C# |
| Topic: | Data structures |
| Level: | Average difficulty |
| Exercise: | Create a class to hold to-do tasks, and a list to hold these tasks. |
| Number: | 4836 |
| Software: | Visual C# |
| Topic: | Data structures |
| Level: | Average difficulty |
| Exercise: | Create a list of objects, add items to it and display the results. |
| Number: | 4835 |
| Software: | Visual C# |
| Topic: | Data structures |
| Level: | Average difficulty |
| Exercise: | Create a shopping list, using a structure and a generic list. |
| Number: | 4834 |
| Software: | Visual C# |
| Topic: | Data structures |
| Level: | Average difficulty |
| Exercise: | Use a sorted dictionary to create a prioritised to-do list in C#. |
| Number: | 4833 |
| Software: | Visual C# |
| Topic: | Data structures |
| Level: | Harder than average |
| Exercise: | Use a Stack and two classes to play the Tower of Hanoi game. |
| Number: | 4837 |
| Software: | Visual C# |
| Topic: | Inheritance |
| Level: | Relatively easy |
| Exercise: | Inherit the Form class to create a custom WinForms form template. |
| Number: | 4838 |
| Software: | Visual C# |
| Topic: | Inheritance |
| Level: | Relatively easy |
| Exercise: | Take a reality TV show application, and use inheritance to make it more specific. |
| Number: | 4839 |
| Software: | Visual C# |
| Topic: | Inheritance |
| Level: | Average difficulty |
| Exercise: | Create a recurring task class inheriting from a base to-do task. |
| Number: | 4841 |
| Software: | Visual C# |
| Topic: | Inheritance |
| Level: | Average difficulty |
| Exercise: | Use a cuddly toy class to inherit from a base toy class. |
| Number: | 4840 |
| Software: | Visual C# |
| Topic: | Inheritance |
| Level: | Harder than average |
| Exercise: | Create labels and text boxes based on the same abstract class. |
| Number: | 4842 |
| Software: | Visual C# |
| Topic: | Interfaces |
| Level: | Average difficulty |
| Exercise: | Add an interface so room hires and dates are treated the same way. |
| Number: | 4843 |
| Software: | Visual C# |
| Topic: | Interfaces |
| Level: | Harder than average |
| Exercise: | Play any game, using an interface to create a common PLAY method. |
| Number: | 4844 |
| Software: | Visual C# |
| Topic: | Delegates and events |
| Level: | Average difficulty |
| Exercise: | Use a delegate in a class to move a form button right and down. |
| Number: | 4845 |
| Software: | Visual C# |
| Topic: | Delegates and events |
| Level: | Harder than average |
| Exercise: | Use an event and delegate to get a button which monitors its pinkness. |
| Number: | 4846 |
| Software: | Visual C# |
| Topic: | Writing LINQ |
| Level: | Relatively easy |
| Exercise: | Enumerate string names of Dr Who candidates using LINQ. |
| Number: | 4847 |
| Software: | Visual C# |
| Topic: | Writing LINQ |
| Level: | Average difficulty |
| Exercise: | Project a star sign class into an enumerable string list using LINQ. |
| Number: | 4848 |
| Software: | Visual C# |
| Topic: | Advanced LINQ |
| Level: | Average difficulty |
| Exercise: | LINQ: list Mondays till Xmas using anonymous types and skipping items. |
| Number: | 4850 |
| Software: | Visual C# |
| Topic: | Advanced LINQ |
| Level: | Average difficulty |
| Exercise: | Use LINQ anonymous types to return star signs as new 2-property class. |
| Number: | 4849 |
| Software: | Visual C# |
| Topic: | Entity Frameworks |
| Level: | Relatively easy |
| Exercise: | Listing authors and book counts using LINQ to SQL classes. |
| Number: | 4851 |
| Software: | Visual C# |
| Topic: | LINQ with Entity Frameworks |
| Level: | Relatively easy |
| Exercise: | Use a simple LINQ statement to list out all of the events in a table. |
| Number: | 4852 |
| Software: | Visual C# |
| Topic: | LINQ with Entity Frameworks |
| Level: | Average difficulty |
| Exercise: | Use a LINQ statement to populate a grid of events (returning an anonymous type). |
| Number: | 4854 |
| Software: | Visual C# |
| Topic: | LINQ with Entity Frameworks |
| Level: | Average difficulty |
| Exercise: | Use LINQ to add rows to two different tables, saving your changes. |
| Number: | 4855 |
| Software: | Visual C# |
| Topic: | LINQ with Entity Frameworks |
| Level: | Harder than average |
| Exercise: | Populate two combo boxes in a form, and use criteria to list out events. |
| Number: | 4856 |
| Software: | Visual C# |
| Topic: | Grouping using LINQ |
| Level: | Average difficulty |
| Exercise: | Use LINQ grouping to show directors by their year of birth. |
| Number: | 4859 |
| Software: | Visual C# |
| Topic: | Grouping using LINQ |
| Level: | Harder than average |
| Exercise: | Group (and reorder) films by studio using LINQ to SQL. |
| Number: | 4860 |
You can search our full list of C# exercises here. Or why not learn to do them the right way on one of our C# training courses? You can attend our online training classes wherever you are in the world!
Kingsmoor House
Railway Street
GLOSSOP
SK13 2AA
Landmark Offices
6 Bevis Marks
LONDON
EC3A 7BA
c/o Holiday Inn
25 Aytoun Street
MANCHESTER
M1 3AE
© Wise Owl Business Solutions Ltd 2026. All Rights Reserved.