本文整理汇总了C#中StringTable.Put方法的典型用法代码示例。如果您正苦于以下问题:C# StringTable.Put方法的具体用法?C# StringTable.Put怎么用?C# StringTable.Put使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类StringTable
的用法示例。
在下文中一共展示了StringTable.Put方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Update
public void Update(StringTable table, int numEntries, byte[] data)
{
using (var stream = Bitstream.CreateWith(data))
{
var option = stream.ReadBool();
if (option)
{
throw new ArgumentException("Unknown option " + option);
}
var keyHistory = new List<string>();
var entryId = uint.MaxValue;
uint read = 0;
while (read < numEntries)
{
if (!stream.ReadBool())
{
entryId = stream.ReadBits(table.EntryBits);
}
else
{
entryId = unchecked(entryId + 1);
}
var key = ReadKeyIfIncluded(stream, keyHistory);
var value = ReadValueIfIncluded(stream, table.UserDataFixedSize,
table.UserDataSizeBits);
if (entryId < table.Count)
{
var entry = table.Get(entryId);
if (value != null)
{
entry.Value = value;
}
}
else
{
table.Put(entryId, new StringTable.Entry(key, value));
}
++read;
}
}
}