Ссылка на объект не указывает на экземпляр объекта - C# (179967)
Формулировка задачи:
Здравствуйте! При написании кода у меня возникла проблема, а исправить не получается. В строке "" выдает ошибку "Ссылка на объект не указывает на экземпляр объекта". Вот фрагмент кода :
readSize = segment.InputStream.Read(buffer, 0, buffSize);
........ private void StartSegments(int segmentCount, Stream inputStream) { ..... for (int i = 0; i < calculatedSegments.Length; i++) { Segment segment = new Segment(); if (i == 0) { segment.InputStream = inputStream; } segment.Index = i; segment.InitialStartPosition = calculatedSegments[i].StartPosition; segment.StartPosition = calculatedSegments[i].StartPosition; segment.EndPosition = calculatedSegments[i].EndPosition; segments.Add(segment); } RunSegments(); } private void SegmentThreadProc(object objSegment) { Segment segment = (Segment)objSegment; segment.LastError = null; ......... int buffSize = 8192; byte[] buffer = new byte[buffSize]; segment.State = SegmentState.Connecting; // raise the event OnSegmentStarting(segment); segment.CurrentURL = this.resourceLocation.URL; using (segment.InputStream) { // raise the event OnSegmentStarted(segment); // change the segment state segment.State = SegmentState.Downloading; segment.CurrentTry = 0; long readSize; do { // reads the buffer from input stream [B][I]readSize = segment.InputStream.Read(buffer, 0, buffSize);[/I][/B] [B]!!!!!Ошибка!!!![/B] // check if the segment has reached the end if (segment.EndPosition > 0 && segment.StartPosition + readSize > segment.EndPosition) { // adjust the 'readSize' to write only necessary bytes readSize = (segment.EndPosition - segment.StartPosition); if (readSize <= 0) { segment.StartPosition = segment.EndPosition; break; } } }
Решение задачи: «Ссылка на объект не указывает на экземпляр объекта»
textual
Листинг программы
if(segment.InputStream == null) return;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д