Scinde une chaîne en un tableau, puis la boucle, en C#

J'ai Googlé ce BEAUCOUP, mais mon C# compétences sont assez terrible et je ne vois pas pourquoi cela ne fonctionne pas.

J'ai une chaîne qui vient d'un objet de session, je n'en ai pas le moindre contrôle sur le réglage. La chaîne contient quelques phrases séparées par six traits de soulignement. par exemple:

Sentence number one______Sentence number two______Sentence number three etc

Je veux partager cette chaîne par les six traits de soulignement et de retour de chaque élément de la matrice résultante.

Voici le code que j'ai:

string itemsPlanner = HttpContext.Current.Session["itemsPlanner"].ToString();

string[] arrItemsPlanner = itemsPlanner.Split(new string[] { "______" }, StringSplitOptions.None);

foreach (string i in arrItemsPlanner)
{
  newItemsPlanner += "debug1: " + i;  //This returns what looks like a number, as I'd expect, starting at zero and iterating by one each loop.
  int itemNumber;

  try
  {
    itemNumber = Convert.ToInt32(i);
    string sentence = arrItemsPlanner[itemNumber].ToString();
  }
  catch (FormatException e)
  {
    return "Input string is not a sequence of digits.";
  }
  catch (OverflowException e)
  {
    return "The number cannot fit in an Int32.";
  }
  finally 
  {
    return "Fail!"
  }
}

Chaque fois que je l'exécute, la session est en train d'être récupérées avec succès, mais la ligne qui dit: itemNumber = Convert.ToInt32(i); échoue à chaque fois et j'obtiens un message d'erreur indiquant que "la chaîne d'Entrée n'est pas une séquence de chiffres."

Quelqu'un peut me pointer dans la bonne direction avec ce s'il vous plaît?

Merci beaucoup!

  • Pouvez-vous donner un exemple de votre session de la chaîne? Essayez de garniture Convertir.ToInt32(j'.Trim()).
  • Post valeur de l'échantillon pour itemsPlanner - est-il quelque chose comme 1______6______1?
  • Si la chaîne d'entrée a été 324534______1162______12432 au lieu de "phrases" votre question aurait plus de sens. Aussi, pourquoi êtes-vous convertir un entier puis retour à une chaîne de caractères? Qu'essayez-vous de faire?
  • Ce type est newItemsPlanner?
InformationsquelleAutor Dan | 2012-01-05