コード例 #1
0
 private ByteString Add(PartBytes bytes)
 {
     _bytesList.Add(bytes);
       _length += bytes.Length;
       return this;
 }
コード例 #2
0
 public PartBytes(PartBytes bytes,int begin,int length)
 {
     _bytes = bytes._bytes;
     if (bytes.Length < begin + length)
       throw new IndexOutOfRangeException();
     _begin = bytes._begin + begin;
     _length = length;
 }
コード例 #3
0
 public ByteString Drop(int n)
 {
     var newBytes = new ByteString();
       foreach (PartBytes bytes in _bytesList) {
     if (n == 0) {
       newBytes.Add(bytes);
     } else {
       var l = bytes.Length;
       if (l <= n) {
     // skip
     n -= l;
       } else {
     //byte[] left = new byte[l - n];
     //Array.Copy(bytes,n,left,0,l - n);
     var left = new PartBytes(bytes,n,l - n);
     newBytes.Add(left);
     n = 0;
       }
     }
       }
       return newBytes;
 }