Здравствуйте, Аноним, Вы писали:
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;
}