Scalien.BinaryListerThreadState.ParseByteArray C# (CSharp) 메소드

ParseByteArray() 공개 정적인 메소드

public static ParseByteArray ( byte data, int pos, byte &array ) : int
data byte
pos int
array byte
리턴 int
        public static int ParseByteArray(byte[] data, int pos, ref byte[] array)
        {
            int prefix = 0;
            while (pos < data.Length)
            {
                if (data[pos] >= '0' && data[pos] <= '9')
                {
                    prefix = prefix * 10 + (data[pos] - '0');
                    pos += 1;
                }
                else if (data[pos] == ':')
                {
                    break;
                }
                else
                    return -1;
            }

            if (pos < data.Length)
            {
                if (data[pos] == ':')
                    pos += 1;
                else
                    return -1;
            }

            if (pos + prefix >= data.Length)
                return -1;

            array = new byte[prefix];
            Buffer.BlockCopy(data, pos, array, 0, prefix);
            pos += prefix;
            return pos;
        }