我希望将一个字符串保存到一个富文本框中的另一个字符串strTotal。然后,我想把它分成两个SubString,比如firstPart和secondPart,中间的索引是: midIndex。
然后,我想改变一些价值,在第一,并加入到下半年。最后将其展示给richTextBox。
为此,我使用了以下代码:
最后一次调试:
rtxtQueryPan.Text.Length =53,midIndex = 45;
//string Totalqueryy = rtxtQueryPan.Text;
string firstHalf = rtxtQueryPan.Text.Substring(0, midIndex-2);
string secondHalf = rtxtQueryPan.Text.Substring((midIndex- 1), (rtxtQueryPan.Text.Length - 1)); // THIS LINE SHOWS ERROR
string duplicateFirstHalf = firstHalf;
firstHalf += " " + clColumnNames.Text + ",";
rtxtQueryPan.Text = firstHalf+secondHalf;在守则的第3行中说:
索引和长度必须引用字符串中的位置。参数名称:长度
我检查了长度,midIndexvalue等,但没有找到任何线索。
发布于 2012-12-05 14:24:32
C#的.Substring函数的第二个参数是length,而不是position。
因此,您可能希望编写以下代码:
rtxtQueryPan.Text.Substring(midIndex-1, (rtxtQueryPan.Text.Length-1) - midIndex);此外,length参数是可选的,而不是在您的情况下应该提供的内容,因为您希望字符串的其余部分包括在内。因此,你也可以写:
rtxtQueryPan.Text.Substring(midIndex-1);发布于 2012-12-05 14:26:02
Substring只能在正在执行的字符串的范围内工作。在这里,rtxtQueryPan.Text引用RichTextBox中的文本,它比当前保存在字符串中的文本更长。记住,Substring的参数是起始位置和长度。
您希望(rtxtQueryPan.Text.Length-1) - midIndex作为第二个参数。
我希望这能帮到你。
发布于 2012-12-05 14:27:45
问题是你从半程抓取第二个字符串,并说我想要整个字符串。如果使用子字符串,则第二个pramater是子字符串的长度。这应该能解决问题。string secondHalf = rtxtQueryPan.Text.Substring((midIndex- 1), (rtxtQueryPan.Text.Length - 1-midIndex));
https://stackoverflow.com/questions/13725285
复制相似问题