Este articulo aplica a: C# 2.0
C# 2.0 nos trajo una nueva caracteristica: tipos nullables, seguramente ya sabes que son y los has usado por algun tiempo, pero, cuantas veces has visto (o escrito) codigo como este:
//SomeClass.SomeObject.BoolProperty es de tipo bool?
if (SomeClass.SomeObject.BoolProperty.HasValue && SomeClass.SomeObject.BoolProperty.Value)...
//algun codigo
porque no puedes escribir:
if (SomeClass.SomeObject.BoolProperty)...
Ya que no compilaria
El problema que tengo con ese codigo es que es repetitivo y es muy largo, entonces que podemos hacer?
Puedes escribirlo asi:
if (SomeClass.SomeObject.BoolProperty??false)
mucho mejor no? si BoolProperty tiene un valor y el valor es true, nos regresara true, de lo contrario regresara false; ahora, por supuesto que puedes usar la misma tecnica con otros tipos de datos que sean nullable, veamos algunos ejemplos:
string firstName;
public string FirstName { get{ return firstName??""; }}
Este codigo nos aseguraria que FirstName nunca regrese null (Estoy seguro que has visto muchisimos "object reference not set blablabla" debido a que te falta este codigo)
Otros ejemplos:
int? result;
...
return result??-1; //si no obtuvimos algun resultado, devolver -1
---------------------------------------------------
bool? result;
...
return result??false;
---------------------------------------------------
Eso es todo, espero que les sirva
Recuerda que el mejor codigo, es... no codigo!
Tuesday, October 16, 2007
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment