C# 代码优化:使用字典和三元运算符简化 switch/case 语句
可以将 switch/case 语句改为一个字典,以避免多次重复的代码。同时,可以使用三元运算符来简化代码。最终优化后的代码如下:
var dateKeyFormat = query.CycleType == 0 ? 'yyyy-MM-dd' : 'yyyy-MM';
var groupByResult = select.Where(s => s.FirstBalanceTime >= query.StartTime && s.FirstBalanceTime <= query.EndTime)
.GroupBy(s => s.FirstBalanceTime.Value.ToString(dateKeyFormat))
.Select(s => new WBStatisticsaInfo()
{
DateTime = s.Key.ToString(),
NetWeightSun = s.Sum(s.Value.NetWeight),
RealWeightSun = s.Sum(s.Value.RealWeight),
RoughWeightSun = s.Sum(s.Value.RoughWeight),
TareWeightSun = s.Sum(s.Value.TareBalanceNum)
}).ToList();
var cycleTypeDict = new Dictionary<int, string>()
{
{ 0, '天' },
{ 1, '月' }
};
var resultListInfo = new ResultListInfo<WBStatisticsaInfo>()
{
List = groupByResult,
IsSuccess = true,
Msg = $'按{cycleTypeDict[query.CycleType]}统计成功',
ResultCode = ApiStatusCode.SUCCESS
};
return resultListInfo;
优化后的代码优势:
- 减少代码重复: 使用字典存储不同的日期格式,避免了重复的代码块。
- 提高可读性: 三元运算符和字典的使用使代码更加简洁易懂。
- 更灵活: 如果需要添加更多日期格式,只需要修改字典即可,不需要修改 switch/case 语句。
原文地址: https://www.cveoy.top/t/topic/m8JR 著作权归作者所有。请勿转载和采集!