本文整理汇总了C#中TextDocument.GetLine方法的典型用法代码示例。如果您正苦于以下问题:C# TextDocument.GetLine方法的具体用法?C# TextDocument.GetLine怎么用?C# TextDocument.GetLine使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TextDocument
的用法示例。
在下文中一共展示了TextDocument.GetLine方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: BreakLinesIntoWords
/// <summary>
/// Breaks the lines into words in the form of a list of <see cref="TextSegment">TextSegments</see>. A 'word' is defined as an identifier (a series of letters, digits or underscores)
/// or a single non-identifier character (including white space characters)
/// </summary>
/// <returns>
/// The list of segments representing the 'words' in the lines
/// </returns>
/// <param name='document'>
/// The document to get the words from
/// </param>
/// <param name='startLine'>
/// The first line in the documents to get the words from
/// </param>
/// <param name='lineCount'>
/// The number of lines to get words from
/// </param>
public static List<TextSegment> BreakLinesIntoWords (TextDocument document, int startLine, int lineCount, bool includeDelimiter = true)
{
var result = new List<TextSegment> ();
for (int line = startLine; line < startLine + lineCount; line++) {
var lineSegment = document.GetLine (line);
int offset = lineSegment.Offset;
bool wasIdentifierPart = false;
int lastWordEnd = 0;
for (int i = 0; i < lineSegment.Length; i++) {
char ch = document.GetCharAt (offset + i);
bool isIdentifierPart = char.IsLetterOrDigit (ch) || ch == '_';
if (!isIdentifierPart) {
if (wasIdentifierPart) {
result.Add (new TextSegment (offset + lastWordEnd, i - lastWordEnd));
}
result.Add (new TextSegment (offset + i, 1));
lastWordEnd = i + 1;
}
wasIdentifierPart = isIdentifierPart;
}
if (lastWordEnd != lineSegment.Length) {
result.Add (new TextSegment (offset + lastWordEnd, lineSegment.Length - lastWordEnd));
}
if (includeDelimiter && lineSegment.DelimiterLength > 0)
result.Add (new TextSegment (lineSegment.Offset + lineSegment.Length, lineSegment.DelimiterLength));
}
return result;
}