- Access exercises (91)
- C# exercises (79)
- Excel exercises (278)
- Power Apps exercises (13)
- Power Automate exercises (18)
- Power BI exercises (139)
- Power Platform exercises (157)
- Python exercises (28)
- Report Builder exercises (141)
- SQL exercises (198)
- SSAS exercises (51)
- SSIS exercises (46)
- SSRS exercises (99)
- VBA exercises (85)
- Visual Basic exercises (46)
VISUAL C# EXERCISES▼
- Creating forms (4)
- Coding form events (1)
- Laying out your code (2)
- C# variables (4)
- Enumerations and constants (2)
- Conditions (2)
- Modular code (3)
- Arrays (2)
- Looping (2)
- Files and folders (3)
- Properties in C# (3)
- Using lists (3)
- Validating forms (6)
- Toolbars, menus and status bars (1)
- FileDialogs and StreamReaders (1)
- Debugging and trapping errors (1)
- Introduction to DataGridViews (1)
- DataGridView events (3)
- Complex DataGridViews (2)
- Creating classes (4)
- The form as a class (1)
- Data structures (6)
- Inheritance (5)
- Interfaces (2)
- Delegates and events (2)
- Writing LINQ (2)
- Advanced LINQ (2)
- Entity Frameworks (1)
- LINQ with Entity Frameworks (4)
- Grouping using LINQ (2)
- LINQ to SQL (2)
Visual C# | Properties in C# exercise | Create a game of Snog, Marry or Avoid in Visual C#
This exercise is provided to allow potential course delegates to choose the correct Wise Owl Microsoft training course, and may not be reproduced in whole or in part in any format without the prior written consent of Wise Owl.
You need a minimum screen resolution of about 700 pixels width to see our exercises. This is because they contain diagrams and tables which would not be viewable easily on a mobile phone or small laptop. Please use a larger tablet, notebook or desktop computer, or change your screen resolution settings.
To avoid having to draw the form needed for this exercise, right-click on the name of your project in Solution Explorer then choose Add --> Existing Item... (you can also press SHIFT + ALT + A to do the same thing).
Choose only the files called frmSmaGetNames.cs and frmSnogMarryAvoid in the above folder to import them into your project, then edit Program.cs to make frmSmaGetNames the default form.
When you run your application, you should now see this:
Some default names have been filled in for you, but you can change these.
Before continuing, have a look at the existing code to see what it does (it might be an idea to encase it in a separate code region too):
The first form sets the value of the second form's public variable Persons. Notice how this has a private equivalent which has the same name, but in lower case (persons, not Persons). This is a commonly used technique in C#, and is worth getting used to!
Start to write the code for the second form so that it works! To begin with:
- store the array of people in a list (since lists are easier to work with than arrays) and set this list to be the data source of the first list box; and
- create a list of choices (snog, marry and avoid, basically), and set this list to be the data source of the second list box.
You may find it useful for the rest of the code to know that you can refresh a list box like this:
// update data source for list (set it to null then back to
// same data source forces VS to recognise it's changed)
lst.DataSource = null;
lst.DataSource = lstItems;
Complete your code, so that it works just as well with 3 people/choices or 30 (in the future you may want to add choices, such as interview, invite for pizza, get autograph from, ...). Here's what the result should look like:
The first two choices were easy!
The answer contains 2 properties, 2 event-handler routines and 3 other procedures. See if you can beat this!