Archivo

Posts Tagged ‘C#’

Real-time apps using Xamarin + SignalR

septiembre 30, 2019 Deja un comentario
Anuncios

Curso C# de 0 a 100 NetUnivesity

septiembre 6, 2019 Deja un comentario

Si quieres aprender C# desde las bases utilizando Visual Code y .Net Core he diseñado un curso en donde fácilmente puedes aprender  siguiendo una serie de videos y evaluando tus conocimientos con algunas pruebas en cada modulo.

image.png

https://net-university.ninja/p/curso-introduccion-c-csharp-0-100

Son mas de 6 horas de curso que podas aprovechar al máximo e incluso material extra para seguir aprendiendo y profundizar lo aprendido.

Ingresa a Net-University y adquiere el curso de  0 a 100

https://net-university.ninja/courses

 

 

 

 

C# 8 – switch como expression

septiembre 4, 2019 Deja un comentario

C# 8 nos trae muy buenas mejoras en el lenguaje. pero definitivamente una que realmente me gusta mucho es Switch expression.

int intValueForSwitch = 0;
string state = "";

switch (intValueForSwitch)
{
    case 0:
      state = "Zero";
    break;
    case 1:
      state = "One";
    break;
    case 2:
      state = "Two";
    break;
    default:
      state = "No valid number";
    break;
}

El anterior código  muestra un switch con una situación  especial en donde por cada caso estamos asignando un valor a una variable sin ningún procedimiento adicional.

en C# tenemos ahora una manera de simplificar significativamente este código:

//switch as expression
int intValueForSwitch = 0;

var state = (intValueForSwitch) switch
{
    (0) => "Zero",
    (1) => "One",
    (2) => "Two",
     _ => "NO valid number"
};

 

Usando el operador flecha podemos asignar el valor de la variable en cada caso en una linea de código. y finalizando con el guion bajo y la flecha podemos asignar lo que seria el valor por defecto en el que antes usábamos ‘default:’

Puedes probarlo y utilizarlo con Visual 2019!

Revisa el historial de mejoras de C# en el siguiente repositorio: CSharpVersionsDemos

 

 

 

 

Mejoras en C# 6

diciembre 23, 2017 Deja un comentario

C# 6 aparece en julio del 2015 junto con Visual studio 2015 con muchas mejoras significativas que vale la pena revisar y poner en practica

Inicializar propiedades automáticamente

Podemos después de crear un propiedad dentro de una clase asignar un valor, muy util por ejemplo para clases estáticas:

public string MyVar { get; set; } = "Hello World"; //Auto Property Initializer

 

Operador Null

Usando el símbolo la interrogación  ?  podemos peguntar si una propiedad es nula

DateTime? datetime = new DateTime();

var YearOfDate = datetime?.Year; //using ? asking if the value is null

Console.WriteLine(YearOfDate);

var YearOfDateConditional = datetime?.Year ?? 0; //using ? asking if the value is null and if the property Year is null returning 0

 

Interpolación de cadenas 

Podemos fácilmente vincular variables dentro de un string así como también llamados a métodos

Console.WriteLine("----------------------String Interpolation -----------------");

var years = $"YearOfDate:{YearOfDate} - YearOfDateConditional:{YearOfDateConditional}"; //adding vars on the string easily

Console.WriteLine(years);

 

Funciones y propiedades como expresiones

Con esta mejora podemos utilizar expresiones para representar el valor de una propiedad o también el cuerpo de un método:

public string MyVarExpresion => string.Format("Hello World at:{0}", DateTime.Now);
 //Expression-Bodied Function
 public int Sum2Numbers(int x, int y) => (x + y);

 

using static

Using static permite colocar la referencia de una clase como estática para no tener que indicar el namespace de donde proviene en cada llamado

using static System.Console; // using static 

WriteLine("-----------------------------------------------------------");

 

Operador await en catch y finally 

ya es posible utilizar el operador Await dentro de un bloque catch y finally

public async Task AnyMethod()
 {
 try
 {

}
 catch (Exception)
 {

await CatchMethod(); 
 }
 }

private async Task CatchMethod()
 {
 WriteLine("Exception occured");
 }

 

Filtros o condiciones en excepciones

Ahora usando la clausula “when” podemos realizar un condicional o filtro de la declaración de una excepción por ejemplo:

catch (Exception ex) when (ex.Message.Contains("Something"))
 {

await CatchMethod(); 
 }

 

El mejor articulo que he leído para entender todas las mejoras se encuentra en esta pagina incluye algunos vídeos también:

http://www.sharepointcafe.net/2017/09/csharp-6-new-features.html

Todos los demos incluyendo C# 6, 7, 7.1  se encuentran en el siguiente repositorio:

https://github.com/Mteheran/CSharpVersionsDemos

Recuerda revisar también el articulo con las mejoras de 7.0, 7.1 y 7.2

Features C# 7.0, 7.1, 7.2

Features C# 7.0, 7.1, 7.2

diciembre 1, 2017 3 comentarios

Introducción a ASP.NET Core con Visual studio 2017

SourceTree – Manejo de ramas