Ужасно, но по крайней мере дает правильные даты назад
С началом недели, установленным системой:
public static DateTime FirstDateInWeek(this DateTime dt)
{
while (dt.DayOfWeek != System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat.FirstDayOfWeek)
dt = dt.AddDays(-1);
return dt;
}
Без:
public static DateTime FirstDateInWeek(this DateTime dt, DayOfWeek weekStartDay)
{
while (dt.DayOfWeek != weekStartDay)
dt = dt.AddDays(-1);
return dt;
}
Нет принудительной блокировки файлов, но оператор >> безопасен, оператор> небезопасен. Таким образом, ваша практика безопасна.