Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Diagnostics;
- namespace Articulos.Cap04.Excepciones.Parte2
- {
- public sealed class TryXxxVsExcepciones
- {
- public static void Main()
- {
- // Creación del diccionario:
- Dictionary<string, string> abrirCon = new Dictionary<string, string>();
- // Agregación de extensiones:
- abrirCon.Add (".html", "Internet Explorer");
- abrirCon.Add (".cs", "Notepad++ Portable (PortableApps Launcher)");
- abrirCon.Add (".mp3", "Winamp");
- abrirCon.Add (".camrec", "Camtasia Studio");
- abrirCon.Add (".jpg", "Pain.NET");
- // Uso del patrón TryXXX:
- Console.WriteLine ("\nUso del patrón TryXXX:");
- string aplicacion = String.Empty;
- Stopwatch cronometro = new Stopwatch();
- cronometro.Start();
- for (int i = 1; i <= 1000; ++i)
- {
- abrirCon.TryGetValue (".tif", out aplicacion);
- }
- cronometro.Stop();
- // Muestra los resultados de las ejecuciones del método TryGetValue:
- Console.WriteLine ("\tTiempo transcurrido: {0}ms", cronometro.Elapsed.TotalMilliseconds.ToString());
- // Uso del modo de acceso basado en indizador ('indexer').
- // Este modo genera una excepción si la aplicación a la
- // extensión pasada como índice no existe:
- Console.WriteLine ("\nUso del modo de acceso basado en indizador:");
- cronometro.Reset();
- cronometro.Start();
- for (int i = 1; i <= 1000; ++i)
- {
- try
- {
- aplicacion = abrirCon[".tif"];
- }
- catch (KeyNotFoundException)
- {
- // Captura de la excepción.
- }
- }
- cronometro.Stop();
- // Muestra los resultados de las ejecuciones en excepciones:
- Console.WriteLine ("\tTiempo transcurrido: {0}ms\n", cronometro.Elapsed.TotalMilliseconds.ToString());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement