C#

  • Implementación del patrón de diseño Decorator

    # Simulando cafetería El decorador es uno de los patrones de diseño estructural. Se utiliza para agregar, eliminar o cambiar el comportamiento del objeto. Este documento le enseñará cómo usar Decorator DP correctamente. Déjame explicarte la idea de esto con un ejemplo simple. Imagina que ahora est

    LEER
  • Patrones de diseño creacional

    #Patrón Singleton El patrón Singleton está diseñado para restringir la creación de una clase a exactamente una única instancia. Este patrón se usa en un escenario donde tiene sentido tener solo uno de algo, como: una única clase que orquesta las interacciones de otros objetos, ej. Clase de admini

    LEER
  • Código de Contratos y Afirmaciones

    # Las afirmaciones para verificar la lógica siempre deben ser verdaderas Las aserciones no se utilizan para realizar pruebas de parámetros de entrada, sino para verificar que el flujo del programa es correcto, es decir, que puede hacer ciertas suposiciones sobre su código en un momento determinado.

    LEER
  • Código de Contratos

    # Postcondiciones public double GetPaymentsTotal(string name) { Contract.Ensures(Contract.Result<double>() >= 0); double total = 0.0; foreach (var payment in this._payments) { if (string.Equals(payment.Name, name)) { total += payment.Amount;

    LEER
  • almacenamiento en caché

    # MemoryCache //Get instance of cache using System.Runtime.Caching; var cache = MemoryCache.Default; //Check if cache contains an item with cache.Contains("CacheKey"); //get item from cache var item = cache.Get("CacheKey"); //get item from cache or add item if not existing ob

    LEER
  • Usando SQLite en C#

    # Creando CRUD simple usando SQLite en C# En primer lugar, debemos agregar soporte SQLite a nuestra aplicación. Hay dos formas de hacerlo Descargue DLL adecuado para su sistema desde la página de descarga de SQLite y luego agréguelo al proyecto manualmente Agregar dependencia de SQLite a través de

    LEER
  • IComparable

    # Ordenar versiones Clase: public class Version : IComparable<Version> { public int[] Parts { get; } public Version(string value) { if (value == null) throw new ArgumentNullException(); if (!Regex.IsMatch(value, @"^[0-9]+(\.[0-9]+)*$"))

    LEER
  • IClonable

    # Implementando ICloneable en una clase Implementar ICloneable en una clase con un toque. Exponer una caja fuerte de tipo público Clone() e implementar object Clone() en privado. public class Person : ICloneable { // Contents of class public string Name { get; set; } public int Age { ge

    LEER
  • Delegados de funciones

    # Sin parámetros Este ejemplo muestra cómo crear un delegado que encapsule el método que devuelve la hora actual static DateTime UTCNow() { return DateTime.UtcNow; } static DateTime LocalNow() { return DateTime.Now; } static void Main(string[] args) { Func<DateTime> method = UTC

    LEER
  • Palabra clave de rendimiento

    Cuando usa la palabra clave yield en una declaración, indica que el método, el operador o el accesor get en el que aparece es un iterador. El uso de yield para definir un iterador elimina la necesidad de una clase adicional explícita (la clase que contiene el estado de una enumeración) cuando implem

    LEER
  • Declaración de bloqueo

    # Lanzar una excepción en una declaración de bloqueo El siguiente código liberará el bloqueo. No habrá problema. La declaración de bloqueo detrás de escena funciona como try finally lock(locker) { throw new Exception(); } Se puede ver más en la especificación C# 5.0: Un lock declaración de

    LEER
  • Hacer que un subproceso variable sea seguro

    # Controlando el acceso a una variable en un bucle Parallel.For using System; using System.Threading; using System.Threading.Tasks; class Program { static void Main( string[] args ) { object sync = new object(); int sum = 0; Parallel.For( 1, 1000, ( i ) => {

    LEER
  • Biblioteca paralela de tareas

    #Parallel.ForEach Un ejemplo que usa el bucle Parallel.ForEach para hacer ping a una matriz determinada de direcciones URL de sitios web. static void Main() { string [] urls = { "www.stackoverflow.com", "www.google.net", "www.facebook.com&

    LEER
  • FondoTrabajador

    # Uso de BackgroundWorker para completar una tarea. El siguiente ejemplo demuestra el uso de un BackgroundWorker para actualizar un ProgressBar de WinForms. El backgroundWorker actualizará el valor de la barra de progreso sin bloquear el subproceso de la interfaz de usuario, mostrando así una inter

    LEER
  • Contexto de sincronización en Async-Await

    # Pseudocódigo para palabras clave asíncronas/en espera Considere un método asíncrono simple: async Task Foo() { Bar(); await Baz(); Qux(); } Simplificando, podemos decir que este código en realidad significa lo siguiente: Task Foo() { Bar(); Task t = Baz(); var context =

    LEER
  • Async-Await

    En C#, un método declarado async no se bloqueará dentro de un proceso síncrono, en caso de que esté utilizando operaciones basadas en E/S (por ejemplo, acceso web, trabajo con archivos, ...). Se puede esperar el resultado de dichos métodos marcados asíncronamente mediante el uso de await palabra cla

    LEER
  • Ejemplos de Async/await, Backgroundworker, Task y Thread

    # ASP.NET Configure Await Cuando ASP.NET maneja una solicitud, se asigna un subproceso del grupo de subprocesos y un contexto de solicitud es creado. El contexto de la solicitud contiene información sobre la solicitud actual a la que se puede acceder a través del HttpContext.Current estático propie

    LEER
  • enhebrar

    # Evitar leer y escribir datos simultáneamente A veces, desea que sus subprocesos compartan datos simultáneamente. Cuando esto sucede, es importante conocer el código y bloquear cualquier parte que pueda fallar. A continuación se muestra un ejemplo simple de conteo de dos hilos. Aquí hay un código

    LEER
  • Cronómetros

    #EsAltaResolución La propiedad IsHighResolution indica si el temporizador se basa en un contador de rendimiento de alta resolución o en la clase DateTime. Este campo es de solo lectura. // Display the timer frequency and resolution. if (Stopwatch.IsHighResolution) { Console.WriteLine("Ope

    LEER
  • Temporizadores

    # Temporizadores multiproceso System.Threading.Timer - El temporizador multiproceso más simple. Contiene dos métodos y un constructor. Ejemplo:un temporizador llama al método DataWrite, que escribe multiproceso ejecutado... después de que hayan transcurrido cinco segundos, y luego cada segundo has

    LEER
Total 13414 -Programación C  FirstPage PreviousPage NextPage LastPage CurrentPage:2/671  20-Programación C/Page Goto:1 2 3 4 5 6 7 8