このように、DayOfWeek列挙体の値は連続した数値として定義されているため、特定の日付の曜日の値をその日付から引き算することで、週の始まりの日付を求めることができる。このような処理を行うメソッドとその使用例を以下に示す。 // firstday.cs using System; public class FirstDayOfWeek { // 日曜日始まりの場合 public static DateTime FirstDayOfThisWeek(DateTime d) { return d.AddDays(DayOfWeek.Sunday - d.DayOfWeek); } // 月曜日始まりの場合 public static DateTime FirstDayOfThisWeek2(DateTime d) { int diff = DayOfWeek.Monday - d.DayOf