代码重构.不要在列表中使用 foreach 使用 lambda 表达式

本文关键字:foreach 使用 lambda 表达式 重构 列表 代码 | 更新日期: 2023-09-27 18:35:52

我在想这些代码行是否可以使用 lambda 表达式简化,例如使用 valueList.ForEach?我是 lambda 表达式的新手。

foreach (var item in OrderList)
{
    item.ReserveDate = DateTime.ParseExact(item.ReserveDate, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture).ToShortDateString();
    item.ExpireDate = DateTime.ParseExact(item.ExpireDate, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture).ToShortDateString();
}

代码重构.不要在列表中使用 foreach 使用 lambda 表达式

你可以这样写,但我不知道它是否真的比foreach更具可读性:

OrderList.ForEach(item => {
    item.ReserveDate = DateTime.ParseExact(item.ReserveDate, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture).ToShortDateString();
    item.ExpireDate = DateTime.ParseExact(item.ExpireDate, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture).ToShortDateString();
});

除非你可以并行地使用这些工作(但同样,可读性):

Parallel.ForEach(OrderList, item => {
    item.ReserveDate = DateTime.ParseExact(item.ReserveDate, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture).ToShortDateString();
    item.ExpireDate = DateTime.ParseExact(item.ExpireDate, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture).ToShortDateString();
});