Utilizando Math.Abs en una propiedad decimal nullable.
Tengo un objeto de tipo.
class A
{
public int Id{get;set;}
public decimal? Num {get;set;}
}
Luego tengo los datos List objList
poblados desde la base de datos.
Necesito hacer que Num sea un número positivo, así que intenté lo siguiente.
objList = objList.ForEach(x=>x.Num = Math.Abs(x.Num));
Dado que Num es un decimal nullable, no puedo usarlo en Linq. ¿Cómo puedo usarlo para omitir los valores nulos y convertir los valores negativos en valores positivos usando Math.abs?
davy.ai
Para modificar la propiedad
Num
de los objetosA
enobjList
para que sean positivos y manejar correctamente los valores nulos, puedes utilizar el siguiente código:Esto recorrerá cada objeto en
objList
y comprobará siNum
tiene un valor y es negativo. Si se cumplen ambas condiciones, estableceráNum
en su valor absoluto. La propiedadHasValue
comprueba siNum
no es nulo, mientras queValue
obtiene el valor decimal subyacente. Este enfoque evita el problema de intentar asignar un valor decimal a un decimal nullable.