none
String a Dictionary RRS feed

  • Pregunta

  • Sabe alguien como pasar una cadena a un dicionario ejemplo

    string = "cabeza-primera vista,cuerpo-contenido del cuerpo,pie-despedida";

    bueno la "," es el separador

    dictionary<string,string> datos = new Dictionary<string, string>();

     

    jueves, 10 de marzo de 2011 23:12

Todas las respuestas

  • Hola,

     

    Para proximas consultas, intenta colocar la pregunta en un foro más adecuado como el de C#.

     

    Prueba con este snippet:

                string cadena=  "cabeza-primera vista,cuerpo-contenido del cuerpo,pie-despedida";

                Dictionary<string,string> d= cadena.Split(',').ToDictionary<string, string>(a => a);


    Javier Torrecilla
    Para el correcto funcionamiento, y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
    Si la respuesta te ha sido util Votala.
    Mi Blog: Jtorrecilla
    Enlace a Faq de Winforms en Ingles Muy bueno
    viernes, 11 de marzo de 2011 7:34
  • Buenas!

    Aparte de lo que indica JTorrecilla, si lo que quieres es crear el diccionario de forma que la clave de cada elemento sea lo que hay a la izquierda del guión y el contenido lo que hay a la derecha, puedes complicar la expresión algo más:

    var dic = cadena
                  .Split(',')
                  .ToDictionary(a => a.Substring(0, a.IndexOf("-")), a => a.Substring(a.IndexOf("-")+1));

    (por supuesto, se asume que en cada elemento siempre existirá el guión, y que la cadena de texto no contiene otros "," ni "-" además de los utilizados como delimitadores)

    De esta forma, podrás luego acceder a los elementos, por ejemplo así: dic["cabeza"].

    Ahora bien, no me parece que sea una forma muy recomendable de pasar información de un lado a otro, mejor buscar alternativas "más sólidas". Por ejemplo, si por lo que he visto en otras preguntas tuyas lo que quieres es pasar datos desde el controlador a la vista, siempre mejor utilizar directamente el diccionario ViewData para ello.

    Saludos.

     


    José M. Aguilar
    Variable not found
    sábado, 12 de marzo de 2011 11:20
  • hola Jose M.Aguilar gracias por el codigo pero me esta mandando error

    alguna ayuda

    o algun manual intenso de uso de diccionario para repasarlo

     

    y mejor entenderlo

     

    sábado, 12 de marzo de 2011 18:53
  • Que error te da?

    "Me está mandando error" no nos da mucha info :) Ayúdanos a ayudarte! ;-)

    Posible causa: El código ese usa Linq. Tienes el using System.Linq en tu archivo .cs?

    Saludos!


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis
    martes, 15 de marzo de 2011 11:46