本文整理汇总了C#中ArrayBuilder.RemoveAt方法的典型用法代码示例。如果您正苦于以下问题:C# ArrayBuilder.RemoveAt方法的具体用法?C# ArrayBuilder.RemoveAt怎么用?C# ArrayBuilder.RemoveAt使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ArrayBuilder
的用法示例。
在下文中一共展示了ArrayBuilder.RemoveAt方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CombineSegments
/// <summary>
/// Combines continguous segments with lengths that are each less than or equal to the specified segment size.
/// </summary>
private static void CombineSegments(ArrayBuilder<SourceText> segments, int segmentSize)
{
for (int i = 0; i < segments.Count - 1; i++)
{
if (segments[i].Length <= segmentSize)
{
int combinedLength = segments[i].Length;
// count how many contiguous segments are reducible
int count = 1;
for (int j = i + 1; j < segments.Count; j++)
{
if (segments[j].Length <= segmentSize)
{
count++;
combinedLength += segments[j].Length;
}
}
// if we've got at least two, then combine them into a single text
if (count > 1)
{
var encoding = segments[i].Encoding;
var algorithm = segments[i].ChecksumAlgorithm;
var writer = SourceTextWriter.Create(encoding, algorithm, combinedLength);
while (count > 0)
{
segments[i].Write(writer);
segments.RemoveAt(i);
count--;
}
var newText = writer.ToSourceText();
segments.Insert(i, newText);
}
}
}
}