【发布时间】:2021-05-28 03:40:05
【问题描述】:
我正在尝试使用以下代码将一段文本附加到 RichTextBox
Form2.codeOutput.Text += "test";
当放置在我的数组之前时效果很好(像这样):
public static void newString(string curLine)
{
Form2.codeOutput.Text += "test";
string[] parsedString = new string[3];
parsedString[0] = "string";
parsedString[1] = curLine.Substring(7, 12);
parsedString[2] = curLine.Substring(23, curLine.Length);
}
但是,当我将它放在我的数组之后时,它不起作用:
public static void newString(string curLine)
{
string[] parsedString = new string[3];
parsedString[0] = "string";
parsedString[1] = curLine.Substring(7, 12);
parsedString[2] = curLine.Substring(23, curLine.Length);
Form2.codeOutput.Text += "test";
}
我尝试寻找解决方案,但没有得到任何好的结果;任何帮助将不胜感激。
编辑 1:我应该补充一点,当代码不起作用时,它不会给出错误或崩溃或任何东西;文本根本不会出现在富文本框中。
编辑 2:我尝试了相同的方法,只是将 Form2.codeOutput.Text += "test"; 替换为 Debug.WriteLine("test");,同样的问题;代码放在数组之前而不是之后时有效。
【问题讨论】:
-
您是否遇到过任何异常?看起来这可能是这里发生的事情.. 在您的方法内的第一行放置一个断点并逐步执行它,看看会发生什么
-
您的 subStringMethod 存在一些问题,您可以通过将 Debug.WriteLine("
") 放在每个数组元素分配下方来解决此问题。调试这段代码时发生了什么? -
@psj01@Biju Kalanjoor 我发现了问题,前两个工作正常,但第三个给出“System.ArgumentOutOfRangeException”
-
尝试添加 curLine = "abcdefghijklmnopqrstuvwxyz1234567890";是您的 newString 方法的第一条语句。如果这工作正常,下一步您将更改 curLine 参数中的值。并快速查看每个 subString 语句
-
@BijuKalanjoor 我试过了,但是我得到了 System.ArgumentOutOfRangeException。我不知道为什么,因为 curLine 有 36 个字符长。