C sharp - Dudas con variable c# y linq

 
Vista:

Dudas con variable c# y linq

Publicado por Echoe (3 intervenciones) el 19/08/2018 00:54:09
Que tal todos. Estaba revisando un programa y encontre este fragmento de código.

double nota = IdCiclo >= 9 && IdUnidad >= 3 ? notaPorSerie.ValorArea * cursosLab.Ponderado / 100 : notaPorSerie.ValorArea;

La primera parte es para declarar una variable de tipo double, pero al pasar el igual tiene dos condiciones y después un símbolo de interrogación y unos dos puntos. Me gustaría que alguien me explicara cada parte de esta línea de código de ser posible.

El programa trabaja con linq. Idciclo, id unidad, son atributos de una tabla.

Muchas gracias a todos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Dudas con variable c# y linq

Publicado por miguelZ (5 intervenciones) el 20/08/2018 16:06:08
pues se trata de una condicion lineal

condicion ? primer_expresion : segunda expresion;

si tu condicion es cierta se ejecuta la primer expresion en caso contrario se ejecuta la segunda.


lo separe en parentesis para mejor comprension

condicion a cumplir (IdCiclo >= 9 && IdUnidad >= 3) si tu condicion es verdadera
el valor de nota es ( notaPorSerie.ValorArea * cursosLab.Ponderado / 100)
en caso de que la condicion es falsa o no se cumple el valor de nota es
:( notaPorSerie.ValorArea)

double nota = (IdCiclo >= 9 && IdUnidad >= 3) ? ( notaPorSerie.ValorArea * cursosLab.Ponderado / 100) :( notaPorSerie.ValorArea);



asi de simple.

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Dudas con variable c# y linq

Publicado por Echoe (3 intervenciones) el 20/08/2018 17:23:31
Muchas gracias por la explicación. No sabía que las variables también podían tener condiciones. Muy bien explicado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar