考虑到其结束指数,如何突出整个单词

时间:2012-05-22 21:29:25

标签: c# winforms richtextbox syntax-highlighting

我有一个RichTextBox,并希望突出显示整个单词,仅给出其结束索引。是否有可能从结束指数突出显示,向后突然显示空间的第一次出现?

这是我到目前为止所尝试过的,但我不知道是否还有其他有效的方法:

int length = richTextBox.Text.Reverse().Skip(richTextBox.Text.Length - offset)
      .TakeWhile(x => x != ' ')
      .Count();
richTextBox.Select(offset - length, length + 1);
richTextBox.SelectionBackColor = Color.Yellow;

1 个答案:

答案 0 :(得分:2)

这是获得长度的非常低效的方法。

尝试这个 - 可能会被某个地方关闭,我现在无法测试它:

var prevSpace = richTextBox.Text.LastIndexOf(' ', offset);
var length = prevSpace = -1 ? offset + 1 : offset - prevspace;