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

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

Войти
Регистрация
Восстановить пароль
 
 
aekuznecov
33 / 33 / 11
Регистрация: 25.03.2013
Сообщений: 512
Записей в блоге: 5
#1

Индекс находился вне границ массива при вызове args - C#

23.09.2014, 10:16. Просмотров 377. Ответов 15
Метки нет (Все метки)

Написал вот такой код:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
static void Main(string[] args)
        {
            var Path = args[0];
            var Filter = args[1];
            var text = File.ReadAllText(Path);
            filter(text, Path);
            Console.WriteLine("Press Enter");
            Console.ReadLine();
        }
        static void filtr(string txt, string filt)
        {
            string[] lines = File.ReadAllLines(txt);
            foreach (string line in lines)
            {
                if (line.Contains(filt)) Console.WriteLine(line);
            }
при компиляции сразу же выдает ошибку в строках:

C#
1
2
var Path = args[0];
var Filter = args[1];
что индекс находился вне границ массива. как быть?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2014, 10:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Индекс находился вне границ массива при вызове args (C#):

Индекс находился вне границ массива при работе с массивами - C#
Добрый вечер! Застрял на такой вот замечательной ошибке...Подскажите, где накасячил! using System; using System.Collections.Generic;...

индекс находился вне границ массива - C#
Здравствуйте! возникла проблема using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; ...

Индекс находился вне границ массива - C#
Всем доброго времени суток! Дали задание переписать из delphi в c# курсовой проект, но на задание дали всего 2 недели, при этом по c# было...

Индекс находился вне границ массива - C#
Индекс находился вне границ массива private void button1_Click(object sender, EventArgs e) { string a =...

Индекс находился вне границ массива - C#
WebClient client = new WebClient(); client.Headers = "application/x-www-form-urlencoded"; String result = "minecraft"; ...

Индекс находился вне границ массива - C#
Здравствуйте! Прошу сразу не убивать - только начал пробовать и изучать С#. И вот в учебном пособии есть код, который у меня на...

15
z668
26 / 26 / 2
Регистрация: 24.03.2013
Сообщений: 239
23.09.2014, 10:19 #2
string[] args - это массив аргументов, который передается приложению операционной системой.
Вы туда что-то передаете? Если нет - то ошибка закономерна.
0
Learx
1035 / 842 / 86
Регистрация: 31.03.2010
Сообщений: 2,465
23.09.2014, 10:19 #3
C#
1
2
3
4
5
6
7
8
9
10
if(args.GetLength(0)<2)
{
    var Path = defaultValue;
    var Filter = defaultValue;
}
else
{
    var Path = args[0];
    var Filter = args[1];
}
0
z668
26 / 26 / 2
Регистрация: 24.03.2013
Сообщений: 239
23.09.2014, 10:22 #4
Прочитайте внимательно: ссылка
0
aekuznecov
33 / 33 / 11
Регистрация: 25.03.2013
Сообщений: 512
Записей в блоге: 5
23.09.2014, 10:23  [ТС] #5
z668, туда передаются путь к файлу и слово для поиска в файле. как аналог grep
0
z668
26 / 26 / 2
Регистрация: 24.03.2013
Сообщений: 239
23.09.2014, 10:33 #6
aekuznecov, форечем в интерациях выведите данные, скорее всего вы все в [0] передаете.
Но проверка на пустые параметры нужна, как и написал Learx
0
aekuznecov
33 / 33 / 11
Регистрация: 25.03.2013
Сообщений: 512
Записей в блоге: 5
23.09.2014, 10:37  [ТС] #7
z668, т.е. к примеру foreach (string path in Path)?
0
z668
26 / 26 / 2
Регистрация: 24.03.2013
Сообщений: 239
23.09.2014, 10:39 #8
C#
1
2
foreach (string path in args)
{Тут вывод path в консоль}
Просто посмотрите что приходит
0
aekuznecov
33 / 33 / 11
Регистрация: 25.03.2013
Сообщений: 512
Записей в блоге: 5
23.09.2014, 11:10  [ТС] #9
z668,
это ни к чему не привело. Можно как-то в самом проекте задать параметры считывания ввода пути и фильтра?
0
z668
26 / 26 / 2
Регистрация: 24.03.2013
Сообщений: 239
23.09.2014, 11:12 #10
это ни к чему не привело.
Поконкретнее. Ничего не выводится? Если так - то ничего и не приходит.
Если ничего не приходит - изучайте мануал по ссылке выше.
0
aekuznecov
33 / 33 / 11
Регистрация: 25.03.2013
Сообщений: 512
Записей в блоге: 5
23.09.2014, 11:25  [ТС] #11
z668, сделал как там было рекомендовано, но при чтении пути и текста из файла выкидывает ошибку: illegal characters in path
0
z668
26 / 26 / 2
Регистрация: 24.03.2013
Сообщений: 239
23.09.2014, 11:27 #12
Пришлите проект
0
aekuznecov
33 / 33 / 11
Регистрация: 25.03.2013
Сообщений: 512
Записей в блоге: 5
23.09.2014, 11:33  [ТС] #13
вот
0
Вложения
Тип файла: zip grep1.zip (84.3 Кб, 1 просмотров)
aekuznecov
33 / 33 / 11
Регистрация: 25.03.2013
Сообщений: 512
Записей в блоге: 5
23.09.2014, 11:34  [ТС] #14
z668, я хочу сделать так, чтобы при запуске проекта я сам вводил и путь, и фильтр, чтобы он не был задан по умолчанию в отладке, потому что работа может происходить с n количеством файлов
0
z668
26 / 26 / 2
Регистрация: 24.03.2013
Сообщений: 239
23.09.2014, 11:38 #15
С этого и надо было начинать. Забудьте про string[] args.
ссылка
Дальше сами, это самые азы, там ничего сложного.
Почитайте учебник, посмотрите видеокурсы...
0
23.09.2014, 11:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.09.2014, 11:38
Привет! Вот еще темы с ответами:

Индекс находился вне границ массива - C#
Здравствуйте! Прошу сразу не убивать - только начал изучать С#. И вот в учебном пособии есть код, который у меня на Microsoft...

Индекс находился вне границ массива - C#
for (int iter = 0; iter &lt; s_text.Length; iter++) { output = hill - 97), (b1 - 97)]; ...

Индекс находился вне границ массива - C#
Доброго времени суток. Подскажите почему выходит за границы, пожалуйста. public byte array = new byte; private void...

индекс находился вне границ массива - C#
Здравствуйте дорогие форумчане! Пишу код, выдаёт ошибку using System; using System.Collections.Generic; using System.Linq; using...


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

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

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