Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
1 / 1 / 1
Регистрация: 28.02.2014
Сообщений: 54
.NET 4.x

Выход индекса за границу массива

27.10.2014, 16:24. Показов 1014. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
При запуске получаю сообщение о том, что индекс выходит за границу массива в строке. Прошу указать на ошибку.

C#
1
string data = "title="+linetit[a]+"&catlist%5B%5D="+cat+"&bbfont=0&bbsize=0&short_story="+lineima[a]+"&full_story="+linemov[a]+"&tags="+teg+"1&allow_comm=1&allow_main=1&approve=1&allow_rating=1&add.x=55&add.y=18&add=%EE%F2%EF%F0%E0%E2%E8%F2%FC&mod=addnews";

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
string[] linestitle = System.IO.File.ReadAllLines(pathtitle);
            string[] linesimage = System.IO.File.ReadAllLines(pathtitle);
            string[] linesmovie = System.IO.File.ReadAllLines(pathmovie);
            int i = 1, o = 1, p = 1, n = 0, cat = 0;
            string teg = "";
            foreach (string linemovie in linesmovie)
            {
                n++;
            }
            string[] linetit = new string[n+1];
            string[] lineima = new string[n+1];
            string[] linemov = new string[n+1];
            foreach (string linetitle in linestitle)
            {
                linetit[i] = linetitle;
                i++;
            }
            foreach (string lineimage in linesimage)
            {
                lineima[o] = lineimage;
                o++;
            }
            foreach (string linemovie in linesmovie)
            {
                linemov[p] = linemovie;
                p++;
            }
            if (checkBox1.Checked == true)
            {
                teg = comboBox1.SelectedText;
            }
            for (int a = 1; a <= n+1;a++)
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://xxx/addnews.html");
                request.Method = "POST";
                string data = "title="+linetit[a]+"&catlist%5B%5D="+cat+"&bbfont=0&bbsize=0&short_story="+lineima[a]+"&full_story="+linemov[a]+"&tags="+teg+"1&allow_comm=1&allow_main=1&approve=1&allow_rating=1&add.x=55&add.y=18&add=%EE%F2%EF%F0%E0%E2%E8%F2%FC&mod=addnews";
                byte[] byteData = Encoding.UTF8.GetBytes(data);
                request.ContentLength = byteData.Length;
                Stream stream = request.GetRequestStream();
                stream.Write(byteData, 0, byteData.Length);
                string response = new StreamReader(request.GetResponse().GetResponseStream()).ReadToEnd();
            }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.10.2014, 16:24
Ответы с готовыми решениями:

Выход за границу массива
Не могу понять почему выходит за границы индекса массива. using System; namespace ConsoleApplication4 { class Program ...

Почему выход за границу массива?
Господа подскажите пожлст, почему в этом коде происходит выход за границу массива. ВСЕМ СПАСИБО. using System; class a { static...

Что ему не нравится? (выход индекса за приделы массива)
Имеется метод ,который обрезает изображение(массив 1 и 0) по размеру периметру* символа,данные на входе указанны в комментариях public...

4
146 / 143 / 32
Регистрация: 21.01.2012
Сообщений: 545
27.10.2014, 16:31
C#
1
string[] linetit = new string[n+1];
C#
1
2
3
4
5
for (int a = 1; /*!!!! =>*/ a <= n+1];a++)
{
//......
+linetit[a]+//..
}
0
1 / 1 / 1
Регистрация: 28.02.2014
Сообщений: 54
27.10.2014, 16:43  [ТС]
Не понял
0
0 / 0 / 0
Регистрация: 20.01.2010
Сообщений: 7
27.10.2014, 23:41
проблема в цикле строка 32, в C подобных языках индексация элементов с нуля массив [n+1] последний элемент имеет индекс [n].
0
Life Builder
 Аватар для sk007
531 / 496 / 374
Регистрация: 12.01.2011
Сообщений: 1,755
28.10.2014, 10:16
Я только не понимаю к чему здесь вот это?
C#
1
2
3
4
foreach (string linemovie in linesmovie)
            {
                n++;
            }
когда можно делать просто вот так.
C#
1
int n = linesmovie.Length;//Индекс последнего элемента будет n-1
Добавлено через 3 минуты
Цитата Сообщение от exels Посмотреть сообщение
При запуске получаю сообщение о том, что индекс выходит за границу массива в строке. Прошу указать на ошибку.
Мне кажется из-за этого
C#
1
for (int a = 1; a <= n+1;a++)
нужно убрать знак равен
C#
1
for (int a = 1; a < n+1;a++)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.10.2014, 10:16
Помогаю со студенческими работами здесь

Выход индекса из диапазона
string key = KeyBox1.Text; string alph = &quot;абвгдежзийклмнопрстуфхцчшщъыьэюя&quot;; string mas = new string; ...

Выход за границу массива
на строке if (A == num) выдает ошибку и пишет выход за границу массива. В чем ошибка? Console::WriteLine(); ...

Выход за границу массива
не работает если ввести более 10 символов. подскажите где ошибка? do while неправильно организовал? #include &lt;stdio.h&gt; int...

Выход за границу массива
Допустим имеем list1 = сравниваю условия в цикле for num in list1: if list1 == list1 pass k+=1 Как можно...

Произведение матриц, выход за границу массива
#include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; #include &lt;cmath&gt; #include &lt;math.h&gt; using namespace std; void...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru