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.

¿Existe un equivalente en C# para la función ast.literal_eval de Python?

Soy un traductor de español que traduce documentos de TI. Traduzca lo siguiente al español. No traduzca el código y la salida en Markdown.
Soy nuevo en C# y busco una forma agradable y conveniente de traducir una matriz codificada como una cadena de nuevo a una matriz en C#. Por ejemplo, convierta la cadena “[1.2,24.4,35.5,4.5]” en una matriz de flotantes.


import ast
ast.literal_eval(" [1.2,24.4,35.5,4.5] ")
[1.2, 24.4, 35.5, 4.5]

o la cadena “[\”foo\”,123,[1,2,3]]”


ast.literal_eval("[\"foo\",123,[1,2,3]]")
['foo', 123, [1, 2, 3]]

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para traducir un array codificado como una cadena de regreso a un array en C#, puede utilizar la clase JsonConvert del espacio de nombres Newtonsoft.Json.

    Aquí hay un ejemplo de cómo convertir la cadena “[1.2,24.4,35.5,4.5]” en un array de flotantes en C#:

    usando Newtonsoft.Json;
    
    string arrayString = "[1.2,24.4,35.5,4.5]";
    float[] floatArray = JsonConvert.DeserializeObject<float[]>(arrayString);
    

    Y aquí hay un ejemplo de cómo convertir la cadena “[\”foo\”,123,[1,2,3]]” en un array de objetos en C#:

    usando Newtonsoft.Json;
    
    string arrayString = "[\"foo\",123,[1,2,3]]";
    object[] objectArray = JsonConvert.DeserializeObject<object[]>(arrayString);
    

    Tenga en cuenta que deberá incluir el paquete NuGet Newtonsoft.Json en su proyecto para que esto funcione.</object[]></float[]>

Comments are closed.