我不确定为什么这会引发异常。此代码应该获取光标位置然后获取最后一个空格索引或输入以选择最后一个键入的单词。它有时会抛出超出范围的异常。选择起始值是否会高于字符串中的字符数?我不确定究竟是什么原因造成的。我放了 if 语句以避免对不存在的字符进行索引......但这并没有以一种或另一种方式改善或恶化它。
private string word()
{
char[] array1 = { '\n', ' ' };
int end = textBox1.SelectionStart;
int strt = 0;
if (textBox1.Text.LastIndexOfAny(array1)!=-1)
{
strt = textBox1.Text.LastIndexOfAny(array1,end);
}
if (strt==-1) { strt = 0; }
return textBox1.Text.Substring(strt, end - strt);
}