本文整理汇总了C#中ByteReader.ReadPageAddress方法的典型用法代码示例。如果您正苦于以下问题:C# ByteReader.ReadPageAddress方法的具体用法?C# ByteReader.ReadPageAddress怎么用?C# ByteReader.ReadPageAddress使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ByteReader
的用法示例。
在下文中一共展示了ByteReader.ReadPageAddress方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ReadContent
protected override void ReadContent(ByteReader reader)
{
this.Nodes = new Dictionary<ushort, IndexNode>(this.ItemCount);
for (var i = 0; i < this.ItemCount; i++)
{
var index = reader.ReadUInt16();
var levels = reader.ReadByte();
var node = new IndexNode(levels);
node.Page = this;
node.Position = new PageAddress(this.PageID, index);
node.KeyLength = reader.ReadUInt16();
node.Key = reader.ReadBsonValue(node.KeyLength);
node.DataBlock = reader.ReadPageAddress();
for (var j = 0; j < node.Prev.Length; j++)
{
node.Prev[j] = reader.ReadPageAddress();
node.Next[j] = reader.ReadPageAddress();
}
this.Nodes.Add(node.Position.Index, node);
}
}
示例2: ReadContent
protected override void ReadContent(ByteReader reader)
{
this.DataBlocks = new Dictionary<ushort, DataBlock>(ItemCount);
for (var i = 0; i < ItemCount; i++)
{
var block = new DataBlock();
block.Page = this;
block.Position = new PageAddress(this.PageID, reader.ReadUInt16());
block.ExtendPageID = reader.ReadUInt32();
for (var j = 0; j < CollectionIndex.INDEX_PER_COLLECTION; j++)
{
block.IndexRef[j] = reader.ReadPageAddress();
}
var size = reader.ReadUInt16();
block.Data = reader.ReadBytes(size);
this.DataBlocks.Add(block.Position.Index, block);
}
}
示例3: ReadContent
protected override void ReadContent(ByteReader reader)
{
this.CollectionName = reader.ReadString();
this.FreeDataPageID = reader.ReadUInt32();
var uintCount = reader.ReadUInt32(); // read as uint (4 bytes)
foreach (var index in this.Indexes)
{
index.Field = reader.ReadString();
index.HeadNode = reader.ReadPageAddress();
index.TailNode = reader.ReadPageAddress();
index.FreeIndexPageID = reader.ReadUInt32();
index.Options.Unique = reader.ReadBoolean();
index.Options.IgnoreCase = reader.ReadBoolean();
index.Options.TrimWhitespace = reader.ReadBoolean();
index.Options.EmptyStringToNull = reader.ReadBoolean();
index.Options.RemoveAccents = reader.ReadBoolean();
}
// be compatible with v2_beta
var longCount = reader.ReadInt64();
this.DocumentCount = Math.Max(uintCount, longCount);
}