繁体   English   中英

在LINQ中除以零例外

[英]Divide by zero exception in linq

我有以下代码,它除以零例外。 我该如何纠正并改进代码?

List<RelacionEjecucionPendientes> iniciativasEjecucionPendienteses = actividades
.GroupBy(cl => cl.iniciativaName)
.Select(cl => new RelacionEjecucionPendientes
{
    Nombre = cl.Key,
    ATiempoEjecucionCantidad = cl.Count(c => c.estado != "No Iniciada" && (Convert.ToDateTime(c.fechaVencimiento).Day - actualTime.Day) >= 0),
    ATiempoEjecucionPorcentaje = String.Format("{0:0}", 
        (cl.Count(c => c.estado != "No Iniciada" && (Convert.ToDateTime(c.fechaVencimiento).Day - actualTime.Day) >= 0) /
         cl.Count(c => c.estado != "No Iniciada") != 0 ? cl.Count(c => c.estado != "No Iniciada") : 1))
}).ToList();

添加括号以对条件运算符进行分组。 除在条件运算符( ? : :)之前,因此它试图在运算符之前除以0:

           ATiempoEjecucionPorcentaje = String.Format("{0:0}", 
                        (cl.Count(c => c.estado != "No Iniciada" && (Convert.ToDateTime(c.fechaVencimiento).Day - actualTime.Day) >= 0) /
                        (cl.Count(c => c.estado != "No Iniciada") != 0 ? cl.Count(c => c.estado != "No Iniciada") : 1)))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM