Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

256
Views
¿Qué significa $ antes de una cadena?

Iba a usar una cadena textual pero escribí por error $ en lugar de @ .

Pero el compilador no me dio ningún error y se compiló correctamente.

Quiero saber qué es y qué hace. Lo busqué pero no pude encontrar nada.

Sin embargo, no es como una cadena textual porque no puedo escribir:

 string str = $"text\";

¿Alguien sabe qué significa $ antes de la cadena en C#?

 string str = $"text";

Estoy usando Visual Studio 2015 CTP.

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

$ es la abreviatura de String.Format y se usa con interpolaciones de cadenas, que es una característica nueva de C# 6. Como se usa en su caso, no hace nada, al igual que string.Format() no haría nada.

Se destaca cuando se usa para construir cadenas con referencia a otros valores. Lo que antes se tenía que escribir como:

 var anInt = 1; var aBool = true; var aString = "3"; var formated = string.Format("{0},{1},{2}", anInt, aBool, aString);

Ahora se convierte en:

 var anInt = 1; var aBool = true; var aString = "3"; var formated = $"{anInt},{aBool},{aString}";

También hay una forma alternativa, menos conocida, de interpolación de cadenas usando $@ (el orden de los dos símbolos es importante). Permite que las características de una cadena @"" se mezclen con $"" para admitir interpolaciones de cadenas sin la necesidad de \\ en toda la cadena. Así que las siguientes dos líneas:

 var someDir = "a"; Console.WriteLine($@"c:\{someDir}\b\c");

dará salida:

 c:\a\b\c
over 4 years ago · Santiago Trujillo Report

0

Crea una cadena interpolada .

Desde MSDN

Se utiliza para construir cadenas. Una expresión de cadena interpolada parece una cadena de plantilla que contiene expresiones. Una expresión de cadena interpolada crea una cadena reemplazando las expresiones contenidas con las representaciones ToString de los resultados de las expresiones.

ex :

 var name = "Sam"; var msg = $"hello, {name}"; Console.WriteLine(msg); // hello, Sam

Puede usar expresiones dentro de la cadena interpolada

 var msg = $"hello, {name.ToLower()}"; Console.WriteLine(msg); // hello, sam

Lo bueno de esto es que no necesita preocuparse por el orden de los parámetros como lo hace con String.Format .

 var s = String.Format("{0},{1},{2}...{88}",p0,p1,..,p88);

Ahora, si desea eliminar algunos parámetros, debe ir y actualizar todos los recuentos, lo cual ya no es el caso.

Tenga en cuenta que el antiguo y buen string.format sigue siendo relevante si desea especificar información cultural en su formato .

over 4 years ago · Santiago Trujillo Report

0

Código de ejemplo

 public class Person { public String firstName { get; set; } public String lastName { get; set; } } // Instantiate Person var person = new Person { firstName = "Albert", lastName = "Einstein" }; // We can print fullname of the above person as follows Console.WriteLine("Full-Name - " + person.firstName + " " + person.lastName); Console.WriteLine("Full-Name - {0} {1}", person.firstName, person.lastName); Console.WriteLine($"Full-Name - {person.firstName} {person.lastName}");

Producción

 Full-Name - Albert Einstein Full-Name - Albert Einstein Full-Name - Albert Einstein

Son cadenas interpoladas . Puede usar una cadena interpolada en cualquier lugar donde pueda usar un literal de cadena. Cuando la ejecución de su programa ejecutaría el código con el literal de cadena interpolado, el código calcula un nuevo literal de cadena evaluando las expresiones de interpolación. Este cálculo se produce cada vez que se ejecuta el código con la cadena interpolada.

El siguiente ejemplo produce un valor de cadena en el que se han calculado todos los valores de interpolación de cadena. Es el resultado final y tiene tipo string. Todas las apariciones de llaves dobles (“{{“ and “}}”) se convierten en una sola llave.

 string text = "World"; var message = $"Hello, {text}";

Después de ejecutar las 2 líneas anteriores, message variable contiene "Hola, mundo".

 Console.WriteLine(message); // Prints Hello, World

Referencia - MSDN

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!