Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# для начинающих

Войти
Регистрация
Восстановить пароль
 
Jettard
40 / 38 / 5
Регистрация: 27.05.2010
Сообщений: 253
#1

При выводе строкового массива в консоль возникает ошибка IndexOutOfRangeException - C#/.NET 3.x

08.10.2012, 10:48. Просмотров 468. Ответов 3
Метки нет (Все метки)

Надо вывести стринговый массив. Делал вот так:
C#
1
2
3
4
5
6
7
8
9
10
string[] Files = Directory.GetFiles(args[0],"*.*");
 
                    if (Files != null)
                    {
                        for (int i = 0; Files != null; ++i)
                        {
                                Console.WriteLine(Files[i]);
                        }
                    }
                    else Console.WriteLine("There are no any files")
Файлы пишет, но крашит прогу и пишет
PHP
1
Unhandled Exception: System.IndexOutOfRangeException: Index was outside the bounds of the array.
Даже вот так делал, не помогло(да и не подоходит такой вариант):
C#
1
2
3
4
5
6
7
8
9
10
 string[] Files = Directory.GetFiles(args[0],"*.*");
 
                    if (Files != null)
                    {
                        for (int i = 0; i <= 13; ++i)
                        {
                                Console.WriteLine(Files[i]);
                        }
                    }
                    else Console.WriteLine("There are no any files");
Подскажите где накосячил. С С# работаю второй день.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2012, 10:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос .NET 3.x При выводе строкового массива в консоль возникает ошибка IndexOutOfRangeException (C#):

Возникает IndexOutOfRangeException при поиске мин/макс элементов массива - C#
Код не упорядочен пока,но логических ошибок вроде нет. Он должен давать пользователю выбрать размерность массива, заполнить его элементами....

.NET 4.x Ошибка "IndexOutOfRangeException" при заполнении двумерного массива - C#
Программа кампилируеться, но при заполнении двумерного массива на строке &quot;x=(3*(i+4)*(j+1))/(2*(i+1)+5*(j+2))-j;&quot; и...

При создании массива возникает ошибка - C#
string mass = new StreamReader(@&quot;C:\12.txt&quot;,Encoding.Default).ReadToEnd().Split(new string { &quot;\r\n&quot; }, StringSplitOptions.None); ...

Ошибка при выводе массива О_о - C#
Здравствуйте. Может кто объяснить, почему появляется ошибка на 3-й итерации цикла, что мол индекс за границей массива? Насколько я понимаю,...

Ошибка при выводе массива на печать - C#
Описать класс, хранящий информацию о командировочных расходах работников. Поля:  суточные в бел. рублях (константа),  ФИ работника,...

Неверная кодировка при выводе на консоль - C#
Добрый день. Немножко не понятен момент в моем тренировочном коде. using System; using System.IO; class demo { ...

3
freest
Українець
421 / 315 / 4
Регистрация: 26.09.2009
Сообщений: 844
08.10.2012, 11:02 #2
C#
1
2
3
4
5
6
7
8
9
10
 string[] Files = Directory.GetFiles(args[0],"*.*");
 
                    if (Files != null)
                    {
                        foreach( var file in Files )
                        {
                                Console.WriteLine(file);
                        }
                    }
                    else Console.WriteLine("There are no any files");
1
Jettard
40 / 38 / 5
Регистрация: 27.05.2010
Сообщений: 253
08.10.2012, 11:08  [ТС] #3
Спасибо. Все работает. Насколько понял, var file это как каждый файл. И var стринговый.
0
freest
Українець
421 / 315 / 4
Регистрация: 26.09.2009
Сообщений: 844
08.10.2012, 11:14 #4
var - компилятор сам определяет тип. У Вас была проблема в том, что вы бесконечно долго обрабатывали файлы. можно было поставить условие
C#
1
 i < Files.Length
в цикле.
1
08.10.2012, 11:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.10.2012, 11:14
Привет! Вот еще темы с ответами:

Настроить кодировку при выводе на консоль - C#
Скрин: Как решить эту пробемму?

Создать задержку при выводе строки в консоль - C#
У меня Д/3 по С#. Надо сделать, что-то типа бегущих строчек из фильма Матрица. Вот что получилось: static void Main(string args) ...

При выводе цифр на консоль выдает не те цифры - C#
Вместо 2 вообще 50. Ввожу double x = Convert.ToDouble(Console.Read()); Console.WriteLine(x); Результат:

Тип double округляется при выводе в консоль - C#
Здравствуйте! Вопрос такой: Есть тип double у которой максимальная вместимость 1.7 * 10^308 Мне надо хранить числа с макс...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.