linq常用
- ToList()什么时候用?
1.当需要对返回的结果进行操作时(比如foreach()操作),可以将这个结果先ToList(),这样可以提高程序运行速度。
2.当不需要对结果进行操作时,直接返回IEnumerable对象即可。
- ?:运算符需要返回的结果是Nullable类型的值时怎么办?
decimal? result = a==0?null:b 这里b 必须是decimal?类型,否则在?null处会报错。
- linq中的函数用法
linq中可以直接使用Count()等函数,不用考虑前面的对象是否为null
- 计算两个时间之间有几周
public static double NumberOfWeeks(DateTime dateStart, DateTime dateEnd)
{
double WeekCount = 0;
TimeSpan Span = dateEnd.Subtract(dateStart);
if (Span.Days <= 7)
return 1;
else
WeekCount = (double)Span.Days / 7;
return WeekCount;
}
- 计算给定时间是一年中的第几周
public static int WeekOfYear(DateTime date)
{
GregorianCalendar cal = new GregorianCalendar(GregorianCalendarTypes.Localized);//using System.Globalization
return cal.GetWeekOfYear(date, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);
}
- 计算给定时间所在对应的周一是日期
public static DateTime BeginningOfWeek(DateTime date)
{
DayOfWeek day = date.DayOfWeek;//using System
int days = day - DayOfWeek.Monday;
if (days < 0)
days = 6;
return date.AddDays(-days);
}