Ejemplo n.º 1
0
        private void parseSlotArray()
        {
            SlotArray = new short[Header.SlotCnt];

            for (int i = 0; i < Header.SlotCnt; i++)
            {
                SlotArray[i] = BitConverter.ToInt16(RawBytes.ToArray(), RawBytes.Count - i * 2 - 2);
            }
        }
Ejemplo n.º 2
0
        private void parseRecords()
        {
            Records = new TextRecord[Header.SlotCnt];

            int cnt = 0;

            foreach (short recordOffset in SlotArray)
            {
                Records[cnt++] = new TextRecord(ArrayHelper.SliceArray(RawBytes.ToArray(), recordOffset, RawBytes.Count - recordOffset), this);
            }
        }
Ejemplo n.º 3
0
        private void parseRecords()
        {
            Records = new ClusteredIndexRecord[Header.SlotCnt];

            //var offsets = SlotArray.OrderBy(x => x).Select((o, i) => new {o, i}).ToArray();

            //var joinedOffsets = from o1 in offsets
            //                     join o2 in offsets on o1.i equals o2.i-1 into ps
            //                     from p in ps.DefaultIfEmpty()
            //                     select new { o1.i,o1.o, length = p?.o - o1.o };
            var idx = 0;

            foreach (var recordOffset in SlotArray)
            {
                Records[idx++] = new ClusteredIndexRecord(ArrayHelper.SliceArray(RawBytes.ToArray(), recordOffset, RawBytes.Count - recordOffset), this);
            }
        }