本文整理汇总了C#中TextSegment.Contains方法的典型用法代码示例。如果您正苦于以下问题:C# TextSegment.Contains方法的具体用法?C# TextSegment.Contains怎么用?C# TextSegment.Contains使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TextSegment
的用法示例。
在下文中一共展示了TextSegment.Contains方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetFirstSearchResult
TextSegment GetFirstSearchResult (int startOffset, int endOffset)
{
if (startOffset < endOffset && this.selectedRegions.Count > 0) {
var region = new TextSegment (startOffset, endOffset - startOffset);
int min = 0;
int max = selectedRegions.Count - 1;
do {
int mid = (min + max) / 2;
TextSegment segment = selectedRegions [mid];
if (segment.Contains (startOffset) || segment.Contains (endOffset) || region.Contains (segment)) {
if (mid == 0)
return segment;
TextSegment prevSegment = selectedRegions [mid - 1];
if (!(prevSegment.Contains (startOffset) || prevSegment.Contains (endOffset) || region.Contains (prevSegment)))
return segment;
max = mid - 1;
continue;
}
if (segment.Offset < endOffset) {
min = mid + 1;
} else {
max = mid - 1;
}
} while (min <= max);
}
return TextSegment.Invalid;
}
示例2: GetSegmentForLine
TextSegment? GetSegmentForLine(TextSegment segment, DocumentLine line)
{
var start = Math.Max(segment.Offset, line.Offset);
if (!segment.Contains(start))
{
return null;
}
var end = Math.Min(segment.EndOffset, line.EndOffset);
if (!segment.Contains(end - 1))
{
return null;
}
return TextSegment.FromBounds(start, end);
}