Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: andrecid en 4 Junio 2015, 22:51 pm



Título: Tengo una duda en c#
Publicado por: andrecid en 4 Junio 2015, 22:51 pm
Hola, la verdad es que siempre que veo esto en un codigo de c# no se muy bien para que sirve y ya va siendo hora de que aprenda que es:


Código:
 Console.Write("{0}|", i);

muy bien lo que quiere entender es esto :


Código:
("{0}")

Esa parte del código, alguien me puede explicar para que se usa y para que sirve, y como sirve?

Gracias


Título: Re: Tengo una duda en c#
Publicado por: Eleкtro en 4 Junio 2015, 23:08 pm
Es uno de los overloads del método Console.Write, específicamente este:
Console.Write Method (String, Object) - MSDN (https://msdn.microsoft.com/en-us/library/9xdyw6yk%28v=vs.110%29.aspx)

El primer parámetro indica el formato específico de texto, y el segundo parámetro los valores que usa el formato.

Lo que hace es convertir el valor de los objetos a cadenas basadas en los formatos especificados, y los inserta en otra cadena.

Para entenderlo mejor debes leer esta referencia:
String.Format Method - MSDN (https://msdn.microsoft.com/en-us/library/system.string.format%28v=vs.110%29.aspx)

Los objetos que deben ser insertados en la cadena de texto con formato, se identifican por la siguiente sintaxis, escribiendo el índice del objeto entre dos brackets: "{0}", donde el cero cómo he dicho es el índice del objeto.

Ejemplos:

Esto generaría el string "Message: Hello World!"
Código
  1. Console.WriteLine(format: "Message: {0}", arg0: "Hello World!");

Esto generaría el string "Uno+Uno=Dos":
Código
  1. string str = string.Format("{0}+{0}={1}", "Uno", "Dos");

En resumen, es una manera elegante y eficiente para construir una cadena de texto con un formato específico.

Saludos.


Título: Re: Tengo una duda en c#
Publicado por: Meta en 4 Junio 2015, 23:09 pm
Hola:

Donde pone la letra i es una variable:
Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Consola
  8. {
  9.    class Program
  10.    {
  11.        static void Main(string[] args)
  12.        {
  13.            int i= 59; // i es una variable tipo entero que contiene valor 59.
  14.  
  15.            Console.WriteLine("Este año cumpliré {0} años.", i); // Muestra mensaje en pantalla con la edad.
  16.  
  17.            Console.ReadKey(); // Espera que pulses una tecla y sales de la pantalla.
  18.        }
  19.    }
  20. }
  21.  

Como puedes ver, en este caso la letra o variable i le he puesto un 59. Cuanto veas esto:

Console.WriteLine("Este año cumpliré {0} años.", i);

donde pone {0} es el resultado de la variable i que es 59, pues el 59 es lo que vas a ver al ejecutar la apliación en vez de ver {0}. En otras palabras, el contenido de i que es 59, sustituye el {0}

Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Consola
  8. {
  9.    class Program
  10.    {
  11.        static void Main(string[] args)
  12.        {
  13.            string P1 = "Posición 1";
  14.            string P2 = "Posición 2";
  15.            string P3 = "Posición 3";
  16.  
  17.            Console.WriteLine("Estoy en estas posiciones indicada aquí. {2}, {1} y el {0}", P3, P2, P1);
  18.            Console.ReadKey(); // Espera que pulses una tecla y sales de la pantalla.
  19.        }
  20.    }
  21. }
  22.  



Saludos.