es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Variable en una cadena C#

He intentado de todo pero no puedo agregar una variable en un texto. Creo que el problema es que la prueba está en formato JSON. Estoy tratando de pasar una variable de un cuadro de texto en la interfaz de usuario a esta variable, pero para probar, solo he creado una variable local, como se muestra a continuación. Aquí está mi código:

Variable:

string Repo1 = "jamesbennett12345678990";

Cadena en la que estoy intentando agregar mi variable:

var UserAgent1 = new ProductInfoHeaderValue("ScraperBot", "1.0");
request.Headers.TryAddWithoutValidation("Authorization", "token testtesttesttest");
request.Headers.UserAgent.Add(UserAgent1);

// Cadena aquí
request.Content = new StringContent("{\"name\":\"" + Repo1 + "\"}");

He leído que para hacer esto, simplemente se trata de poner llaves alrededor de la variable, pero no funciona. Lo sé porque la línea – string Repo1 = "jamesbennett12345678990"; dice que la variable no está en uso.

Esta parte es una Datos JSON que se pasan utilizando HTPClient, así que estoy pensando que como ya hay comillas escapadas con barras invertidas, podría haber un problema de formato aquí: ("{\"name\":\"" + Repo1 + "\"}")

No tengo ningún error como tal, solo el que aparece en VS diciendo que la línea var string Repo1 = "jamesbennett12345678990"; no se está utilizando.

También he investigado sobre Interpolación de cadenas.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para añadir una variable a una cadena en formato JSON, se pueden utilizar llaves alrededor del nombre de la variable. En el código de ejemplo dado, la variable Repo1 debe ser envuelta entre llaves de la siguiente manera:

    request.Content = new StringContent("{\"name\":\"" + Repo1 + "\"}");

    Esto insertará el valor de Repo1 en la cadena JSON en el campo deseado. Es importante tener en cuenta que la forma en que se construye la cadena puede variar dependiendo del formato JSON específico y la versión de C# que se esté utilizando.

    Si hay un problema con el formato de la cadena, es posible que las comillas escapadas estén causando un problema. Una solución a este problema es usar el símbolo @ antes de la cadena para convertirla en una cadena literal de texto. Al hacerlo, se permitirá el uso de comillas sin necesidad de escaparlas.

    Otra alternativa para insertar variables en cadenas es usar la interpolación de cadenas. Esto se puede lograr utilizando el signo de dólar antes de la cadena y encerrando la variable entre llaves. Aquí hay un ejemplo de cómo se puede hacer utilizando el fragmento de código dado:

    request.Content = new StringContent($"{{\"name\":\"{Repo1}\"}}");

    Esto insertará el valor de Repo1 en la cadena JSON, y puede ayudar a evitar errores que puedan ser causados por comillas mal colocadas o escapadas.

Comments are closed.