當前位置: 首頁>>代碼示例>>C#>>正文


C# ByteBuffer.get方法代碼示例

本文整理匯總了C#中net.sf.robocode.nio.ByteBuffer.get方法的典型用法代碼示例。如果您正苦於以下問題:C# ByteBuffer.get方法的具體用法?C# ByteBuffer.get怎麽用?C# ByteBuffer.get使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在net.sf.robocode.nio.ByteBuffer的用法示例。


在下文中一共展示了ByteBuffer.get方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: compareTo

        /**
     * Compares this buffer to another.
     *
     * <p> Two byte buffers are compared by comparing their sequences of
     * remaining elements lexicographically, without regard to the starting
     * position of each sequence within its corresponding buffer.
     *
     * <p> A byte buffer is not comparable to any other type of object.
     *
     * @return  A negative integer, zero, or a positive integer as this buffer
     *		is less than, equal to, or greater than the given buffer
     */

        public int compareTo(ByteBuffer that)
        {
            int n = position() + Math.Min(remaining(), that.remaining());
            for (int i = position(), j = that.position(); i < n; i++, j++)
            {
                byte v1 = get(i);
                byte v2 = that.get(j);
                if (v1 == v2)
                    continue;
                if (v1 < v2)
                    return -1;
                return +1;
            }
            return remaining() - that.remaining();
        }
開發者ID:vodkhang,項目名稱:RoboCode-Robots,代碼行數:28,代碼來源:ByteBuffer.cs

示例2: put

 public override ByteBuffer put(ByteBuffer src)
 {
     if (src is HeapByteBuffer)
     {
         if (src == this)
             throw new ArgumentException();
         var sb = (HeapByteBuffer) src;
         int n = sb.remaining();
         if (n > remaining())
             throw new BufferOverflowException();
         Array.Copy(sb.hb, sb.ix(sb.position()),
                    hb, ix(position()), n);
         sb.position(sb.position() + n);
         position(position() + n);
     }
     else if (src.isDirect())
     {
         int n = src.remaining();
         if (n > remaining())
             throw new BufferOverflowException();
         src.get(hb, ix(position()), n);
         position(position() + n);
     }
     else
     {
         base.put(src);
     }
     return this;
 }
開發者ID:Chainie,項目名稱:robocode,代碼行數:29,代碼來源:HeapByteBuffer.cs

示例3: put

        // -- Bulk put operations --

        /**
     * Relative bulk <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
     *
     * <p> This method transfers the bytes remaining in the given source
     * buffer into this buffer.  If there are more bytes remaining in the
     * source buffer than in this buffer, that is, if
     * <tt>src.remaining()</tt>&nbsp;<tt>&gt;</tt>&nbsp;<tt>remaining()</tt>,
     * then no bytes are transferred and a {@link
     * BufferOverflowException} is thrown.
     *
     * <p> Otherwise, this method copies
     * <i>n</i>&nbsp;=&nbsp;<tt>src.remaining()</tt> bytes from the given
     * buffer into this buffer, starting at each buffer's current position.
     * The positions of both buffers are then incremented by <i>n</i>.
     *
     * <p> In other words, an invocation of this method of the form
     * <tt>dst.put(src)</tt> has exactly the same effect as the loop
     *
     * <pre>
     *     while (src.hasRemaining())
     *         dst.put(src.get()); </pre>
     *
     * except that it first checks that there is sufficient space in this
     * buffer and it is potentially much more efficient. </p>
     *
     * @param  src
     *         The source buffer from which bytes are to be read;
     *         must not be this buffer
     *
     * @return  This buffer
     *
     * @throws  BufferOverflowException
     *          If there is insufficient space in this buffer
     *          for the remaining bytes in the source buffer
     *
     * @throws  ArgumentException
     *          If the source buffer is this buffer
     *
     * @throws  ReadOnlyBufferException
     *          If this buffer is read-only
     */

        public virtual ByteBuffer put(ByteBuffer src)
        {
            if (src == this)
                throw new ArgumentException();
            int n = src.remaining();
            if (n > remaining())
                throw new BufferOverflowException();
            for (int i = 0; i < n; i++)
                put(src.get());
            return this;
        }
開發者ID:vodkhang,項目名稱:RoboCode-Robots,代碼行數:55,代碼來源:ByteBuffer.cs


注:本文中的net.sf.robocode.nio.ByteBuffer.get方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。