我已經使用Google搜索了很多,但我的C#技能非常糟糕,我只是不明白爲什麼這不起作用。將字符串拆分成數組然後循環,在C#
我有一個字符串來自一個會話對象,我沒有任何控制設置。該字符串包含一些由六個下劃線分隔的句子。例如:
Sentence number one______Sentence number two______Sentence number three etc
我想通過六個下劃線拆分這個字符串,並返回結果數組中的每個項目。
這裏是我的代碼:
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!"
}
}
每當我跑,通話被成功retreived但說行:itemNumber = Convert.ToInt32(我);每次都會失敗,並且出現錯誤提示「輸入字符串不是數字序列」。
任何人都可以用這個指向正確的方向嗎?
非常感謝!
你能提供一些會話字符串的例子嗎?嘗試修剪Convert.ToInt32(i.Trim())。 – 2012-01-05 09:08:04
什麼是你的會話值? – 2012-01-05 09:08:17
'itemsPlanner'的文章樣本值是否像'1 ______ 6 ______ 1'? – 2012-01-05 09:08:20