1 if (module.FechaDesde > DateTime.Now && module.habilitado) 2 { 3 //Se contempla esta validacion 4 }
viernes, 22 de octubre de 2010
If Contemplado
Valores default en C#
Tipo de valor | Valor predeterminado |
---|---|
bool | false |
byte | 0 |
char | '\0' |
decimal | 0,0M |
double | 0,0D |
enum | El valor producido por la expresión (E)0, donde E es el identificador de la enumeración. |
float | 0,0F |
int | 0 |
long | 0L |
sbyte | 0 |
short | 0 |
struct | El valor obtenido al asignar los valores predeterminados a los campos de tipo de valor y el valor null a los campos de tipo de referencia. |
uint | 0 |
ulong | 0 |
ushort | 0 |
SQL Joins
Ideal para tenerlo pegado en la pared o en alguna parte en tu box de trabajo.
lunes, 18 de octubre de 2010
jueves, 14 de octubre de 2010
width manual
1 <table style="border-color: Gray; border: 1;"> 2 <tr> 3 <td> 4 5 6 </td> 7 <td> 8 <asp:Label ID="lblContacto" runat="server" Text="Contacto:" /> 9 </td> 10 <td> 11 <c1:TextBox ID="txtContactoText" runat="server" CausesValidation="false" 12 Width="300"></c1:TextBox> 13 </td> 14 <td> 15 16 </td>
sábado, 2 de octubre de 2010
Castear a null un dato null
Code Snippets en Visual Studio
Muchas veces cuando programamos tenemos que escribir el mismo código una y otra vez, por ejemplo cuando hacemos los Try Catch, o ese típico código que copiamos siempre de un ABM a otro y solo cambia el nombre de alguna variable. El Visual Studio nos ayuda con esto, y lo hace con los Code Snippets, basta con hacer uno o dos clicks y nos agrega una gran porción de código listo para usarse.
Esto nos da la ventaja de ahorrarnos el tiempo de tener que tipear lo mismo repetidas veces.
Por defecto, ya vienen cargados unos cuantos Code Snippets y probablemente algunos los estén usando sin darse cuenta, ya que el Intellisense del Visual Studio nos muestra cuales son los Code Snippets que tenemos cargados.

Imagen 1 (Code Snippet en el Intellisense del Visual Studio)
Como se ve en la imagen 1, el Visual Studio nos muestra los Code Snippets con el icono , ese mismo nos va a generar todo el bloque de código para el Try Catch. (Apretando dos veces tab cuando aparezca el Intellisense)
Pero la ventaja de los Code Snippets frente a un simple Copy/Paste es que además de que nos agrega la porción de código, nos deja el cursor para modificar alguna parte específica del mismo.
Por ejemplo si agregamos el Code Snippet del “IF”, nos pone el cursor para modificar la condición:
Imagen 2 (podemos modificar lo que aparece resaltado, y asi poner la condición que necesitemos)
Otra forma para agregar Code Snippets es presionando botón derecho e ir a la opción “Insert Snippet”, como se puede ver a continuación:
También tenemos la opción de “Surround With”, es similar a la anterior, con el detalle que podemos seleccionar el código que queramos, aplicarle un “Surround With” y el mismo va a ir dentro del Code Snippet que elijamos.
Imagen 5 (el MessageBox está dentro del Code Snippet “IF”)
Como pueden ver el Visual Studio nos ofrece una gran cantidad de Code Snippets, pero también agregar cuantos snippets deseen. En internet pueden encontrar muchísimos dando vueltas, incluso se los puede crear a gusto propio.
Null Coalescing Operator
1 string texto = "hello world"
2 string resultado = texto ?? "Este valor es nulo"
3
4 // Devuelve "hello world"
5
6 string texto = null;
7 string resultado = texto ?? "Este valor es nulo"
8
9 // Devuelve "Este valor es nulo"
Precedencia de Operadores
Categorías |
Operadores |
Principal |
x.y f(x) a[x] x++ x-- new typeof checked unchecked -> |
Unario |
+ - ! ~ ++x --x (T)x true false & sizeof |
Multiplicativo |
* / % |
Sumatorio |
+ - |
Desplazamiento |
<< >> |
Comprobación de tipos y relaciones |
< > <= >= is as |
Igualdad |
== != |
AND lógico |
& |
XOR lógico |
^ |
OR lógico |
| |
AND condicional |
&& |
OR condicional |
|| |
Condicional |
?: |
Asignación |
= += -= *= /= %= &= |= ^= <<= >>= |
Uso combinado de Null |
?? |
Lambda |
=> |
Monster If
1 if (!(
2 (_idCaracteristica == _hora.Asignaciones.Especialidad.IdEspecialidad) &&
3 (_idOrigen == _hora.Asignaciones.Origen.IdOrigen) &&
4 (_fechaDesde.ToShortDateString() == _hora.FechaAltaResolucion.ToShortDateString()) &&
5 (
6 (
7 (_fechaHasta == null && _hora.FechaResolucion == null)
8 )
9 ||
10 (
11 (_fechaHasta.HasValue && _hora.FechaBajaResolucion.HasValue) &&
12 (_fechaHasta.Value.ToShortDateString() == _hora.FechaBajaResolucion.Value.ToShortDateString())
13 )
14 ) &&
15 (_hDesde == _hora.DiaAtencion.HorarioDesde) &&
16 (_hHasta == _hora.DiaAtencion.HorarioHasta)
17 )
18 )
Formatear Código en Blogger
Comparar Fechas y Horas
1 return (_programa.Fecha.Date >= horario.FechaDesde.Date && 2 _programa.Fecha.Date <= (horario.FechaHasta.HasValue ? horario.FechaHasta.Value.Date : _programa.Fecha.Date) && 3 int.Parse(_programa.HoraTurno.Substring(0, 2)) * 100 + int.Parse(_programa.HoraTurno.Substring(3)) >= 4 int.Parse(horario.HoraDesde.Substring(0, 2)) * 100 + int.Parse(horario.HoraDesde.Substring(3)) && 5 int.Parse(_programa.HoraTurno.Substring(0, 2)) * 100 + int.Parse(_programa.HoraTurno.Substring(3)) <= 6 int.Parse(horario.HoraHasta.Substring(0, 2)) * 100 + int.Parse(horario.HoraHasta.Substring(3)));