DayOfWeek
7 days are in each week. In C# programs we can determine if a certain date is a Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, or Sunday.
The DayOfWeek
property, and the DayOfWeek
enum
type, can be used for this purpose. These 2 types have the same name, but are different (and often used together).
To begin, we look at a program that acquires the current DayOfWeek
. You can use either DateTime.Now
or DateTime.Today
to get the current day.
DayOfWeek
from the DateTime
instance. DayOfWeek
is a property, and also an enum
type.switch
on a DayOfWeek
. We test what day of the week was found using an if
-expression.Console.WriteLine
) all the values of the DayOfWeek
enum
for completeness.using System;
class Program
{
static void Main()
{
// Get current day of week.
DayOfWeek today = DateTime.Today.DayOfWeek;
Console.WriteLine("Today is {0}", today);
// Test current day of week.
if (today == DayOfWeek.Monday)
{
Console.WriteLine("DO WORK");
}
// Demonstrate all DayOfWeek values.
Console.WriteLine("{0}, {1}, {2}, {3}, {4}, {5}, {6}",
DayOfWeek.Monday,
DayOfWeek.Tuesday,
DayOfWeek.Wednesday,
DayOfWeek.Thursday,
DayOfWeek.Friday,
DayOfWeek.Saturday,
DayOfWeek.Sunday);
}
}Today is Monday
DO WORK
Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday
We can use DayOfWeek
in collections like a list. We do not need to use the DayOfWeek
property in the same program as the DayOfWeek
enum
.
DayOfWeek
enum
to represent work days in a List
. We then loop over and print the day names.using System; using System.Collections.Generic; class Program { static void Main() { // Use a DayOfWeek list. List<DayOfWeek> workDays = new List<DayOfWeek>(); workDays.Add(DayOfWeek.Monday); workDays.Add(DayOfWeek.Wednesday); // Loop over list of days. foreach (var day in workDays) { Console.WriteLine($"WORK DAY: {day}"); } } }WORK DAY: Monday WORK DAY: Wednesday
The DayOfWeek
enum
is a convenient type for representing the day of the week as a small value. This type can be used anywhere.