Buenas,
después de las 12 horas de Visual Studio del pasado martes, me agarro un virus que casi me mata. Pero de a poco voy a sacar los pendientes, empezamos por algunos correos.
Buenas, estuve el otro día viendo con mis compañeros de trabajo las 12 horas de Visual Studio, y a parte de parecernos muy interesantes los temas que enseñasteis, nos quedamos con la duda de como hacer un "truco" que nos pareció bastante útil en el día a día… como convertir un string del tipo "hola " + <variable> + " que tal" en string.Format("hola {0} que tal",<variable>) automáticamente. Te vimos hacerlo en la charla, pero no sabemos como, jeje.
Pues bien, eso que queda tan bien en vivo y además mucho mejor en el código se debemos agradecer a ReSharper. Para muestra un ejemplo, tengo una aplicación de Consola con el siguiente código:
1: using System;
2: namespace ConsoleApplication2
3: {
4: class Program
5: {
6: static void Main(string[] args)
7: {
8: const string Name = @"Valentino";
9: var msg = "Hola mi nombre es " + Name;
10: Console.WriteLine(msg);
11: }
12: }
13: }
Si nos posicionamos sobre la línea 9, veremos que ReSharper nos ofrece la posibilidad de utilizar format string para la concatenación de cadenas.
Una vez seleccionada esta opción, ya no tenemos más una suma de strings
1: using System;
2: namespace ConsoleApplication2
3: {
4: class Program
5: {
6: static void Main(string[] args)
7: {
8: const string Name = @"Valentino";
9: var msg = string.Format("Hola mi nombre es {0}", Name);
10: Console.WriteLine(msg);
11: }
12: }
13: }
Pero esto no es todo, la segunda opción que nos ofrece ReSharper también es interesante, “Compute constant value”. En la misma R# identifica que estamos trabajando con una constante y nos ofrece la posibilidad de utilizar el valor de la misma en lugar de trabajar con una cadena. El resultado final sería el siguiente:
1: using System;
2: namespace ConsoleApplication2
3: {
4: class Program
5: {
6: static void Main(string[] args)
7: {
8: const string Name = @"Valentino";
9: var msg = "Hola mi nombre es Valentino";
10: Console.WriteLine(msg);
11: }
12: }
13: }
Obviamente, si cambiamos el valor de la constante estamos más frito que los Chicago Bulls sin Derrick Rose, pero ese tema para otro post.
Saludos @ Home
El Bruno


Leave a comment