我正在製作一個減少字符串數組行索引的代碼。我的陣列是這樣的:如何遞減字符串數組中行的索引?
1.ExampleFirst\n
SomeText\n
SomeOtherText\n
FinalLine\n\n
2.ExampleSecond\n
SomeText\n
SomeOtherText\n
FinalLine\n\n
等等。線的長度不一樣。 我想要的文字是這樣的:
0.ExampleFirst\n
SomeText\n
SomeOtherText\n
FinalLine\n\n
1.ExampleSecond\n
SomeText\n
SomeOtherText\n
FinalLine\n\n
我有此代碼:
int s = 0;
while(s < lineCounter.Count())
{
if (int.TryParse(lineCounter[s].Substring(0, 1), out v) == true && lineCounter[s] != "\n")
{
int m = int.Parse(lineCounter[s].Substring(0,1));
lineCounter[s].Remove(0, lineCounter[s].IndexOf(".")).Insert(0, (m - 1).ToString());
Console.WriteLine(lineCounter[s]);
}
else
Console.WriteLine(lineCounter[s]);
s++;
「如果」,只有當行包含的數量,當行不被執行新隊。 else執行寫入數組中的其他行(我使用console.writeLine查看結果,我知道我必須更改該部分) 執行此代碼時,我在「如果」聲明:
類型‘System.ArgumentOutOfRangeException’未處理的異常出現在mscorlib.dll
其他信息:索引和長度必須引用在字符串中的位置。
對我來說,這意味着即使遇到第一個文本塊的最後一行和第二個文本塊的第一行之間的新行,也會執行「if」。我無法解釋爲什麼。請幫助!
你的意思是'0'和'1'是文本的一部分? – GolezTrol
本來是不錯的,如果你會提供一個可編譯的代碼,會產生你的問題...我無法重現它,但下面你會發現一個基於你的代碼片段工作示例代碼... – DarkSquirrel42