我有这样的linq声明:
products = products.OrderBy(p => Convert.ToDateTime(p.ExpirationDate)).ToList();
ExpirationDate
类型string
表示产品的到期日期。无论如何,不是我的设计决定。
为了完成排序,我需要将ExpirationDate的字符串表示形式转换为DateTime,以使排序正常工作。
主要是我想知道是否有人知道在LINQ查询中投射(通过Convert.ToDateTime)的性能影响?如果有的话?
答案 0 :(得分:-1)
虽然我不确定这个问题的满意答案是什么样的,但我确实测量了使用linq将简单包装器分类为日期时间和字符串的性能。
Average Ticks Per Run
DWrapper: 1078.5965
SWrapper: 4060.6365
正如你所看到的,平均而言,使用演员表需要花费四倍的时间。这就是说没有理由告诉任何人这比任何其他方式慢四倍,因为我的包装非常轻巧,这将对这里看到的结果产生很大影响,更不用说这种问题了绩效衡量。
备注:强>