using System; using System.Collections.Generic; namespace Articulos.Cap04.Excepciones.Parte2 { public sealed class UsoTryGetValue { public static void Main() { // Creación del diccionario: Dictionary abrirCon = new Dictionary(); // 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; if (abrirCon.TryGetValue (".tif", out aplicacion)) { Console.WriteLine ("\nPara la extensión `.tif` la aplicación usada es {0}.", aplicacion); } else { Console.WriteLine ("\nLa extensión `.tif` no tiene una aplicación asociada.\n"); } // 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:"); try { Console.WriteLine ("\nPara la extensión `.tif` la aplicación usada es {0}.", abrirCon[".tif"]); } catch (KeyNotFoundException) { Console.WriteLine ("\nLa extensión `.tif` no tiene una aplicación asociada.\n"); } } } }