Material adicional c sharp

20
Material Adicional C#

Transcript of Material adicional c sharp

Material AdicionalC#

Recapitulación

Recapitulación

Slide de Apoyo

Evolución C#

C# 1.0

C# 2.0

C# 3.0

Managed Code

Generics

Language Integrated Query

C# 4.0Dynamic Programming

¿Qué es una enumeración?

•Es un tipo por valor que consiste en un conjunto devalores constantes.

•Se utiliza para denominar un Tipo de manera masestética (legible y comprensible).

•Puede ser de cualquier tipo Integral (excepto char)

•Son tipos por valor.•Puede ser cualquier Tipo Entero:- byte, sbyte, short, ushort, uint, int, long,

ulong.•No pueden contener métodos,

propiedades, eventos.•No implementan Herencia,

Implementación de Interfaces.

•La palabra clave enum

enum <nombre> : <TipoBase>

{

<campo1> = valor1,

<campo2> = valor2...

}

¿Qué es una estructura?

•Es un tipo por valor que suele representar ‘objetos’ligeros.

•La mayoría de los tipos básicos son estructuras.

•Se almacenan en la sección ‘Stack’

•Su rendimiento es mayor que las clases.

•Son tipos por valor

•Se pueden crear instancias sin el new

•Pueden declarar constructores, perodeben utilizar parámetros.

•No pueden implementar la herencia.

•Puede implementar interfaces.

Definición

•La palabra clave struct

struct <nombre>

{

<campos, propiedades, métodos y eventos>

}

(Slide de Apoyo) LINQvar pasajerosNacionales =

from p in passengers

where p.Citizenship == “ES"

select new {p.Id, p.Name};

var pasajerosNacionales =

passengers

.Where(p => p.Citizenship== “ES")

.Select(p => new { p.Id, p.Name});

MétodosExtensores

Expresiones de Consulta

Inicializadores de Objetos

Inferencia TiposVariables Locales

- Un evento es un mensaje que envía un objeto cuando ocurre una acción. La acción puede estar causada por la interacción del usuario, como un clic, o por otra lógica del programa. El objeto que provoca el evento se conoce como remitente del evento. El objeto que captura el evento y responde a él se denomina receptor del evento.

Using Collection InterfacesIEnumerable

IEnumerable<T>

IDictionary<TKey, TValue>

ICollection<T>

IList<T>

<Window x:Class="MyNamespace.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"Title="Order Your Coffee Here" Height="350" Width="525"><Grid><Button Content="Get Me a Coffee!" /></Grid></Window>

Paralelismo de tareas (Task Parallel Library)

La biblioteca TPL se basa en el concepto de una tarea, que representa una operación asincrónica. El término paralelismo de tareas hace referencia a la ejecución simultánea de una o varias tareas independientes. Las tareas proporcionan dos ventajas fundamentales:

• Un uso más eficaz y más escalable de los recursos del sistema.

• En segundo plano, las tareas se ponen en la cola del elemento ThreadPool, que se ha mejorado con algoritmos que determinan y ajustan el número de subprocesos y que ofrecen el equilibrio de carga para maximizar el rendimiento. Esto hace que las tareas resulten relativamente ligeras y que, por tanto, pueda crearse un gran número de ellas para habilitar un paralelismo pormenorizado.

• Un mayor control mediante programación del que se puede conseguir con un subproceso o un elemento de trabajo.

Tipos de métodos asíncronosBásicamente podríamos dividir los métodos asíncronos (por su definición) en dos grupos:

· Métodos a los que podemos esperar· Métodos a los que no podemos esperar

Los métodos a los que podemos esperar (awaitable en inglés) retornarán un objeto de tipo Task o más normalmente Task<T>.

Los métodos a los que no podemos esperar, estarán marcados como async pero no retornarán ningún valor (void).

Si invocamos un método al que podemos esperar sin una expresión await, el compilador nos indicará que podríamos esperar a la terminación del método si quisiéramos, aunque no es obligatorio. En este caso, la ejecución del resto del método continuará sin esperar a la tarea asíncrona invocada.