コード例 #1
0
ファイル: BTreeLeafComp.cs プロジェクト: Xamarui/BTDB
 internal BTreeLeafComp(long transactionId, BTreeLeafMember[] newKeyValues)
 {
     Debug.Assert(newKeyValues.Length > 0 && newKeyValues.Length <= MaxMembers);
     TransactionId = transactionId;
     _keyBytes = new byte[newKeyValues.Sum(m => m.Key.Length)];
     _keyvalues = new Member[newKeyValues.Length];
     ushort ofs = 0;
     for (var i = 0; i < newKeyValues.Length; i++)
     {
         _keyvalues[i] = new Member
             {
                 KeyOffset = ofs,
                 KeyLength = (ushort)newKeyValues[i].Key.Length,
                 Value = newKeyValues[i].Value
             };
         Array.Copy(newKeyValues[i].Key, 0, _keyBytes, ofs, _keyvalues[i].KeyLength);
         ofs += _keyvalues[i].KeyLength;
     }
 }