TextReader.Read vs ReadBlock
От: Аноним  
Дата: 29.07.08 21:56
Оценка:
Добрый вечер!

Кто может объяснить разницу между методами Read и ReadBlock? В MSDN для ReadBlock говорится: "This is a blocking version of Read". Но Read тоже вроде не асинхронный метод.

Что-то я запутался.
Re: TextReader.Read vs ReadBlock
От: adontz Грузия http://adontz.wordpress.com/
Дата: 29.07.08 22:55
Оценка:
Здравствуйте, Аноним, Вы писали:

public virtual int Read([In, Out] char[] buffer, int index, int count)
{
    if (buffer == null)
    {
        throw new ArgumentNullException("buffer", Environment.GetResourceString("ArgumentNull_Buffer"));
    }
    if (index < 0)
    {
        throw new ArgumentOutOfRangeException("index", Environment.GetResourceString("ArgumentOutOfRange_NeedNonNegNum"));
    }
    if (count < 0)
    {
        throw new ArgumentOutOfRangeException("count", Environment.GetResourceString("ArgumentOutOfRange_NeedNonNegNum"));
    }
    if ((buffer.Length - index) < count)
    {
        throw new ArgumentException(Environment.GetResourceString("Argument_InvalidOffLen"));
    }
    int num = 0;
    do
    {
        int num2 = this.Read();
        if (num2 == -1)
        {
            return num;
        }
        buffer[index + num++] = (char) num2;
    }
    while (num < count);
    return num;
}

public virtual int ReadBlock([In, Out] char[] buffer, int index, int count)
{
    int num;
    int num2 = 0;
    do
    {
        num2 += num = this.Read(buffer, index + num2, count - num2);
    }
    while ((num > 0) && (num2 < count));
    return num2;
}
A journey of a thousand miles must begin with a single step © Lau Tsu
Re: TextReader.Read vs ReadBlock
От: heeepi  
Дата: 30.07.08 15:39
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Добрый вечер!


А>Кто может объяснить разницу между методами Read и ReadBlock? В MSDN для ReadBlock говорится: "This is a blocking version of Read". Но Read тоже вроде не асинхронный метод.


А>Что-то я запутался.


Read предназначен для чтения одного значения, а ReadBlock для чтения блока данных.
Re[2]: TextReader.Read vs ReadBlock
От: Аноним  
Дата: 30.07.08 16:34
Оценка:
Здравствуйте, heeepi, Вы писали:

А>>Кто может объяснить разницу между методами Read и ReadBlock? В MSDN для ReadBlock говорится: "This is a blocking version of Read". Но Read тоже вроде не асинхронный метод.


H>Read предназначен для чтения одного значения, а ReadBlock для чтения блока данных.


Вот этот метод тоже читает набор символов:
public virtual int Read (
    [InAttribute] [OutAttribute] char[] buffer,
    int index,
    int count
)
Re[2]: TextReader.Read vs ReadBlock
От: Аноним  
Дата: 30.07.08 16:58
Оценка:
Здравствуйте, adontz, Вы писали:

Все-равно не понятно. Вы не могли бы прокомментировать?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.