Esempio n. 1
0
        /// <summary>
        /// Read a single character.
        /// </summary>
        /// <returns>The character read.</returns>
        public char Read()
        {
            if (cb.Length == 0)
            {
                // read from underlying reader
                int readCount = reader.Read(buffer, 0, BlockSize);
                if (readCount == 0)
                {
                    throw new ApplicationException("End of stream.");
                }
                cb.SetBuffer(buffer, readCount);
            }

            char c = cb[0];

            cb.Remove(0);
            return(c);
        }