Read our blogs, tips and tutorials
Try our exercises or test your skills
Watch our tutorial videos or shorts
Take a self-paced course
Read our recent newsletters
License our courseware
Book expert consultancy
Buy our publications
Get help in using our site
551 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 ...
Software ==> | Visual C# (55 exercises) |
Topic ==> | Advanced LINQ (2 exercises) |
Level ==> | Average difficulty |
Subject ==> | C# training |
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.
If you haven't already got one, create a Windows Forms project (using Visual C#, obviously) called wiseowl. Right-click on your project in Solution Explorer to add an existing item, and choose the file frmShoppingDays.cs in the above folder.
Make this the default form in Program.cs. When you run your application, you should see a form like this:
Too early to think about Christmas? Never.
When you click on the button the form's title changes:
The caption now says that there are 54 days until Christmas.
Imagine now that It's the 1st November 2023, and you haven't done ANY Christmas shopping. Also:
you can only bear to shop on a Monday;
you know you're doing something next Monday; and
you can't bear to shop on the last 2 Mondays before Christmas.
Write a query expression which returns an anonymous type with two properties:
PossibleDate - a Monday between "now" and Christmas
CountdownDays - the number of days between this date and Christmas.
Your query expression should sort the dates in reverse order, then skip the first two. Don't forget only to count Mondays.
Now iterate over this (you'll need to reverse it using the Reverse method, and skip the first item) to get this:
What you should see when you click on the button now.
There are no doubt easier ways to do this, but none which teaches LINQ so well!
You can find other training resources for the subject of this exercise here:
Kingsmoor House
Railway Street
GLOSSOP
SK13 2AA
Landmark Offices
99 Bishopsgate
LONDON
EC2M 3XD
Holiday Inn
25 Aytoun Street
MANCHESTER
M1 3AE
© Wise Owl Business Solutions Ltd 2024. All Rights Reserved.