Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.94/47: Рейтинг темы: голосов - 47, средняя оценка - 4.94
 Аватар для xamelione25
-4 / 5 / 2
Регистрация: 04.02.2013
Сообщений: 1,861

System.ArgumentOutOfRangeException: "Индекс и длина должны указывать на позицию в строке. Имя параметра: length"

12.07.2020, 23:08. Показов 10722. Ответов 34
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите в чем ошибка???
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
private void button6_Click(object sender, EventArgs e) //Дешифрование с ключом
        {
            string s = richTextBox2.Text, res = "", stroka = ""; //Забираем весь текст из элемента
            long leng, position = 0, sam_kluch = Convert.ToInt32(textBox2.Text);
            leng = s.Length;//Получаем его длину
            int razr = Convert.ToInt32(numericUpDown1.Text); //Количество разрядов на блок
            int[] kluch = new int[razr]; //Разбиваем ключ на разряды для замены
            richTextBox2.Clear();
            byte p = 1;
            string pr = Convert.ToString(sam_kluch); //Новая строка для расшифровки
            char[] chstr = pr.ToCharArray();
            while (sam_kluch > 0)
            {
                kluch[kluch.Length - p] = Convert.ToInt32(sam_kluch) % 10 -1; //Заполняем ключ с конца
                sam_kluch = sam_kluch / 10; //Убавляем количество разрядов
                p++; //Смещаемся по массиву назад (с конца)
            }
            while (leng > 0) //Пока не обработан весь текст
            {
                stroka = s.Substring(Convert.ToInt32(position), razr);//Забираем наш блок
                for (int i = 0; i < razr; i++) //Обрабатываем блок
                {
                    chstr[kluch[i]] = stroka[i];
                }
                pr = new string(chstr);
                if (leng - razr == 0) //Если это последний блок с доп. символами
                { pr = pr.Replace("$", ""); } //Избавляемся от них
                res += pr;
                leng -= razr; //Уменьшаем длину строки, которую нужно обработать
                position += razr; //Смещаемся к следующему блоку
            }
            res = res.Replace("$", " ");
            richTextBox2.Text += res;
        }
Миниатюры
System.ArgumentOutOfRangeException: "Индекс и длина должны указывать на позицию в строке. Имя параметра: length"  
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.07.2020, 23:08
Ответы с готовыми решениями:

Индекс и длина должны указывать на позицию в строке. Имя параметра: length
Имеется такой вот метод: public string EncryptionShuffle(string text, int key) { string result = null; ...

Substring. Индекс и длина должны указывать на позицию в строке
Почему ошибка? Как мне получить из строки абвгдеёжзийклмнопрс подстроку ноп public static void test() { ...

Substring. Индекс и длина должны указывать на позицию в строке
Всем доброго времени суток! Так и не могу разобраться почему у меня выходит данная ошибка. public string D(string str) { ...

34
 Аватар для Enifan
1853 / 1201 / 502
Регистрация: 14.10.2018
Сообщений: 3,342
16.07.2020, 18:20
Лучший ответ Сообщение было отмечено xamelione25 как решение

Решение

Студворк — интернет-сервис помощи студентам
Цитата Сообщение от xamelione25 Посмотреть сообщение
Вчленил в свой код, код с сайта (он мне больше подходит) ... где-то что-то не так вставил
просто так копировать код и вставлять непонятно куда - не дело. Так никогда ничего работать не будет, тем более вы перемешали и мой и свой и код с сайта. ловите готовый проект
Вложения
Тип файла: rar WindowsFormsApp1.rar (11.0 Кб, 4 просмотров)
1
 Аватар для xamelione25
-4 / 5 / 2
Регистрация: 04.02.2013
Сообщений: 1,861
16.07.2020, 22:59  [ТС]
Enifan, Спасибо))), только я все-равно коды к себе в файлы перебросил)))
Только у меня почему-то при (де)шифровке текста с ключом никакого получаемого текста не выводится почему-то (строки 231-246).

Кликните здесь для просмотра всего текста
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using WindowsFormsApp1;
 
namespace IB2_1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            richTextBox1.Text = richTextBox1.Text;
            textBox2.Text = textBox2.Text;
        }
        Random random = new Random();
        char[,] table = null;
        public int[] randomize(int n)
        {
            int[] perm = Enumerable.Range(1, n).ToArray(); // 0 1 2 ... (n - 1)
            for (int i = n - 1; i >= 1; i--)
            {
                int j = random.Next(i + 1);
                int temp = perm[j];
                perm[j] = perm[i];
                perm[i] = temp;
            }
            return perm;
        }
 
        private int[] key = null; //Перестановка с ключом
        public void SetKey(int[] _key)
        {
            key = new int[_key.Length];
            for (int i = 0; i < _key.Length; i++)
                key[i] = _key[i];
        }
        public void SetKey(string[] _key)
        {
            key = new int[_key.Length];
            for (int i = 0; i < _key.Length; i++)
                key[i] = Convert.ToInt32(_key[i]);
        }
        public void SetKey(string _key)
        {
            SetKey(_key.Split(' '));
        }
        public string Encrypt(string input)
        {
            for (int i = 0; i < input.Length % key.Length; i++)
                input += input[i];
            string result = "";
            for (int i = 0; i < input.Length; i += key.Length)
            {
                char[] transposition = new char[key.Length];
                for (int j = 0; j < key.Length; j++)
                    transposition[j] = input[i + key[j] - 1];
                for (int j = 0; j < key.Length; j++)
                    result += transposition[j];
            }
            return result;
        }
        public string Decrypt(string input)
        {
            string result = "";
            for (int i = 0; i < input.Length; i += key.Length)
            {
                char[] transposition = new char[key.Length];
                for (int j = 0; j < key.Length; j++)
                    transposition[j] = input[i + key[j] - 1];
                for (int j = 0; j < key.Length; j++)
                    result += transposition[j];
            }
            return result;
        }
        public char[,] CreateTable(string _key, string input)
        {
            int key = Convert.ToInt32(_key);
            for (int i = 0; i < input.Length % key; i++)
            {
                input += input[i];
            }
            int row = (int)Math.Ceiling((float)input.Length / key);
            table = new char[row, key];
            int counter = 0;
            for (int i = 0; i < row; i++)
            {
                for (int j = 0; j < key; j++)
                {
                    table[i, j] = input[counter++];
                }
            }
            return table;
        }
        public void ChangeRows(char[,] table, bool mode)
        {
            int rows = table.GetUpperBound(0) + 1;
            int columns = table.Length / rows;
            string tempS = "";
            for (int i = 0; i < rows; i++)//Извлекаем строку
            {
                for (int j = 0; j < columns; j++)
                {
                    tempS += table[i, j];
                }
                if (mode)
                {
                    tempS = Encrypt(tempS); //Передаем строку на перестановку
                }
                else
                {
                    tempS = Decrypt(tempS);
                }
                for (int j = 0; j < columns; j++) //Записываем изменненый массив в таблицу
                {
                    table[i, j] = tempS[j];
                }
                tempS = "";
            }
        }
        public char[,] DecrTable(string _key, string input)
        {
            int key = Convert.ToInt32(_key);
            for (int i = 0; i < input.Length % key; i++)
            {
                input += " ";
            }
            int row = (int)Math.Ceiling((float)input.Length / key);
            table = new char[row, key];
            int counter = 0;
            for (int j = 0; j < key; j++)
            {
                for (int i = 0; i < row; i++)
                {
                    table[i, j] = input[counter++];
                }
            }
            return table;
        }
        private void button1_Click(object sender, EventArgs e) //Загрузка текстового файла
        {
            using (OpenFileDialog dialog = new OpenFileDialog())
            {
                dialog.Filter = "Текстовые файлы|*.txt";
                if (dialog.ShowDialog() == DialogResult.OK)
                {
                    richTextBox1.Text = File.ReadAllText(dialog.FileName, Encoding.GetEncoding(1251));
                    label5.Text = Convert.ToString(richTextBox1.TextLength);
                }
            }
        }
        private void button9_Click(object sender, EventArgs e) //Сохранение файла
        {
            SaveFileDialog saveFile1 = new SaveFileDialog();
            saveFile1.DefaultExt = "*.txt";
            saveFile1.Filter = "Text files|*.txt";
            if (saveFile1.ShowDialog() == System.Windows.Forms.DialogResult.OK && saveFile1.FileName.Length > 0)
            {
                using (StreamWriter sw = new StreamWriter(saveFile1.FileName, true, Encoding.GetEncoding(1251)))
                {
                    sw.WriteLine(richTextBox2.Text);
                    sw.Close();
                }
            }
        }
        private void button2_Click(object sender, EventArgs e) //Шифрование забором
        {
            richTextBox2.Clear();
            string[] k = richTextBox1.Text.Split('\n'); //Массив строк, разделённых абзацем
            int n = k.Length; //Получаем количество строк всего
            int p; //Положение каретки на заборе
            int Key = 2; //Изначальная высота
            string s; //Строка для обработки массива k[]
            string res = ""; //Результирующая строка
            for (int i = 0; i < n; i++) //Для каждой строки
            {
                s = k[i];
                if (s.Length > 0) //если длина строки больше нуля
                {
                    res += s[0];
                    while (Key > 0) //И до тех пор, пока ключ себя не исчерпает(количество строк)
                    {
                        p = Key;
                        while (p < s.Length) //Пока мы в пределах строки
                        {
                            res += s[p]; //присваиваем вершину забора
                            p += 2; //Смещаемся до следующей вершины забора
                        }
                        Key--;
                    }
                    richTextBox2.Text += res;
                }
            }
        }
        private void button5_Click(object sender, EventArgs e) //Дешифрование забора
        {
            string[] k = richTextBox1.Text.Split('\n'); //Массив строк, разделённых абзацем
            int n = k.Length; //Получаем количество строк всего
            richTextBox2.Clear();
            int del; //делитель для дешифрования
            string s; //Строка для обработки массива k[]
            string res = ""; //Результирующая строка
            for (int i = 0; i < n; i++) //Для каждой строки
            {
                s = k[i]; //Записываем строку в переменную
                if (s.Length > 0) //если длина строки больше нуля, нужно разбиться пополам
                { //Первая половина будет первой строкой, вторая - второй
                    if (s.Length % 2 == 1) //Если длина нечётная
                        for (int j = 0; j <= s.Length / 2; j++)
                        {
                            del = s.Length / 2 + 1; //Добавляем единицу
                            res += s[j];
                            if (j + del != s.Length)
                                res += s[j + del];
                        }
                    else
                        for (int j = 0; j <= s.Length / 2 - 1; j++)
                        {
                            del = s.Length / 2; //Иначе оставляем как есть
                            res += s[j];
                            if (j + del != s.Length)
                                res += s[j + del];
                        }
                    richTextBox2.Text += res;
                }
            }
        }
        private void button3_Click(object sender, EventArgs e) //Шифрование с ключом
        {
            richTextBox1.Text = Cryptography.Encoding(richTextBox2.Text, textBox2.Text);
            richTextBox2.Clear();
            textBox2.Enabled = true;
            button3.Enabled = false;
            button6.Enabled = true;
        }
        private void button6_Click(object sender, EventArgs e) //Дешифрование с ключом
        {
            richTextBox2.Text = Cryptography.Decoding(richTextBox1.Text, textBox2.Text);
            richTextBox1.Clear();
            textBox2.Enabled = false;
            button6.Enabled = false;
            button3.Enabled = true;
        }
        //Функция для создания листа с множеством перестановок
        private static IEnumerable<List<string>> allcombinations(List<string> arg, List<string> awithout)
        {
            if (arg.Count == 1)
            {
                var result = new List<List<string>>();
                result.Add(new List<string>());
                result[0].Add(arg[0]);
                return result;
            }
            else
            {
                var result = new List<List<string>>();
                foreach (var first in arg)
                {
                    var others0 = new List<string>(arg.Except(new string[1] { first }));
                    awithout.Add(first);
                    var others = new List<string>(others0.Except(awithout));
                    var combinations = allcombinations(others, awithout);
                    awithout.Remove(first);
                    foreach (var tail in combinations)
                    {
                        tail.Insert(0, first);
                        result.Add(tail);
                    }
                }
                return result;
            }
        }
        private void button8_Click(object sender, EventArgs e) //генерация ключа
        {
            SetKey(randomize((int)numericUpDown1.Value));
            textBox2.Text = "";
            for (int i = 0; i < key.Length; i++)
            {
                textBox2.Text += key[i];
            }
            table = DecrTable(key.Length.ToString(), richTextBox1.Text);
            ChangeRows(table, false); //decodedText.Text = DecrypWithoutKey(table); outputFile(decodedText.Text);
        }
        private void button4_Click(object sender, EventArgs e) //Комбинированное шифрование
        {
            richTextBox2.Clear();
            string s = richTextBox1.Text, res = "", stroka = "", str = ""; //Забираем весь текст из элемента
            //stroka - обрабатываемый блок, str - промежуточная строка, res - результирующая
            long leng, position = 0, sam_kluch = Convert.ToInt32(textBox2.Text);
            leng = s.Length;//Получаем его длину
            int razr = Convert.ToInt32(numericUpDown1.Text); //Количество разрядов на блок
            int[] kluch = new int[razr]; //Разбиваем ключ на разряды для замены
            int Key = 2; //Изначальная высота
            if (leng % razr != 0) //Если мы не можем разбиться на равные блоки
            {
                for (int i = 0; i < razr - (leng % razr); i++)
                    s += "$"; //Добавляем мнимые символы для кодирования
            }
            leng = s.Length;//Получаем новую длину строки
            int p = 1;
            while (sam_kluch > 0)
            {
                kluch[kluch.Length - p] = Convert.ToInt32(sam_kluch) % 10 - 1; //Заполняем ключ с конца
                sam_kluch = sam_kluch / 10; //Убавляем количество разрядов
                p++; //Смещаемся по массиву назад (с конца)
            }
            while (leng > 0) //Пока не обработан весь текст
            {
                stroka = s.Substring(Convert.ToInt32(position), razr);//Забираем наш блок
                ////////Шифрование забором///////////
                str += stroka[0];
                while (Key > 0) //И до тех пор, пока ключ себя не исчерпает(количество строк)
                {
                    p = Key;
                    while (p < stroka.Length) //Пока мы в пределах строки
                    {
                        str += stroka[p]; //присваиваем вершину забора
                        p += 2; //Смещаемся до следующей вершины забора
                    }
                    Key--;
                }
                ////////Шифрование с ключом/////////
                for (int i = 0; i < razr; i++) //Обрабатываем блок
                {
                    res += str[kluch[i]]; //Получаем переставленные элементы
                }
                ///////Сдвиг к следующему блоку/////
                leng -= razr; //Уменьшаем длину строки, которую нужно обработать
                position += razr; //Смещаемся к следующему блоку
                Key = 2; //Обновляем ключ
                str = ""; //Обнуляем промежуточную строку
            }
            richTextBox2.Text += res;
        }
        private void button7_Click(object sender, EventArgs e) //Комбинированное декодирование
        {
            string s = richTextBox2.Text, res = "", stroka = "", str = ""; //Забираем весь текст из элемента
            long leng, position = 0, sam_kluch = Convert.ToInt32(textBox2.Text);
            leng = s.Length;//Получаем его длину
            int razr = Convert.ToInt32(numericUpDown1.Text); //Количество разрядов на блок
            int[] kluch = new int[razr]; //Разбиваем ключ на разряды для замены
            richTextBox2.Clear();
            byte p = 1;
            string pr = Convert.ToString(sam_kluch); //Новая строка для расшифровки
            char[] chstr = pr.ToCharArray();
            while (sam_kluch > 0)
            {
                kluch[kluch.Length - p] = Convert.ToInt32(sam_kluch) % 10 - 1; //Заполняем ключ с конца
                sam_kluch = sam_kluch / 10; //Убавляем количество разрядов
                p++; //Смещаемся по массиву назад (с конца)
            }
            while (leng > 0) //Пока не обработан весь текст
            {
                stroka = s.Substring(Convert.ToInt32(position), razr);//Забираем наш блок
                //////////Дешифрование с ключом///////
                for (int i = 0; i < razr; i++) //Обрабатываем блок
                {
                    chstr[kluch[i]] = stroka[i];
                }
                pr = new string(chstr); //Промежуточная строка
                /////////Дешифрование забора////////
                str = Convert.ToString(pr);
                if (razr % 2 == 1) //Если длина нечётная
                    p = Convert.ToByte(razr / 2 + 1); //Добавляем единицу
                else
                    p = Convert.ToByte(razr / 2); //Иначе оставляем как есть
                if (razr % 2 == 0)
                    for (int j = 0; j < razr / 2; j++)
                    {
                        res += str[j];
                        if (j + p != razr)
                            res += str[j + p];
                    }
                else
                    for (int j = 0; j <= razr / 2; j++)
                    {
                        res += str[j];
                        if (j + p != razr)
                            res += str[j + p];
                    }
                leng -= razr; //Уменьшаем длину строки, которую нужно обработать
                position += razr; //Смещаемся к следующему блоку
                res = res.Replace("$", " ");
                richTextBox2.Text += res;
                res = "";
            }
        }
                private void label3_Click(object sender, EventArgs e)
        {
        }
    }
}


Добавлено через 45 минут
Enifan,
Цитата Сообщение от xamelione25 Посмотреть сообщение
Только у меня почему-то при (де)шифровке текста с ключом никакого получаемого текста не выводится почему-то (строки 231-246).
Все спс, вопрос аннулирован (блоки местами попутал).
У меня только одна проблема вырисовывалась: при генерировании ключа - он не генерируется при пустом текстовом поле исходника - выдается ошибку. С чем это связано - в чем ошибка???
0
 Аватар для Enifan
1853 / 1201 / 502
Регистрация: 14.10.2018
Сообщений: 3,342
17.07.2020, 09:32
Цитата Сообщение от xamelione25 Посмотреть сообщение
при генерировании ключа - он не генерируется при пустом текстовом поле исходника - выдается ошибку. С чем это связано - в чем ошибка???
Ну если поле пустое - то по сути и генерировать нечего, можно сделать дополнительные проверки
Code
1
2
3
if (элемент.Текст == "")
    MessageBox.Show("Ничего не введено")
    return;
Тут уже на вкус и цвет
0
 Аватар для xamelione25
-4 / 5 / 2
Регистрация: 04.02.2013
Сообщений: 1,861
17.07.2020, 10:18  [ТС]
Enifan, Неет я не про то,

У меня генерация кода происходит в зависимости и наличия текста в исходнике. А вопрос в том: что мне нужно сделать чтобы генерирование пароля не зависело от наличия текста, чтобы он сам по себе мог генерироваться с пустым полем???
0
 Аватар для Enifan
1853 / 1201 / 502
Регистрация: 14.10.2018
Сообщений: 3,342
17.07.2020, 12:21
Цитата Сообщение от xamelione25 Посмотреть сообщение
генерирование пароля
Заполнение массива неповторяющимися числами
Можно "специально" записать это значение в текстбокс
C#
1
string str = string.Join("", l);
ну и помнить что для расшифровки нужен тот же ключ
0
 Аватар для xamelione25
-4 / 5 / 2
Регистрация: 04.02.2013
Сообщений: 1,861
17.07.2020, 12:53  [ТС]
Enifan, а при пустом richTextBox генерирование ключа разве не реально сделать?
0
 Аватар для Enifan
1853 / 1201 / 502
Регистрация: 14.10.2018
Сообщений: 3,342
17.07.2020, 16:46
Цитата Сообщение от xamelione25 Посмотреть сообщение
а при пустом richTextBox генерирование ключа разве не реально сделать?
причем тут rich? какая взаимосвязь между этим элементов и генерацией ключа ?
0
 Аватар для xamelione25
-4 / 5 / 2
Регистрация: 04.02.2013
Сообщений: 1,861
17.07.2020, 16:49  [ТС]
Enifan,
Цитата Сообщение от Enifan Посмотреть сообщение
какая взаимосвязь
"факт наличия в нем содержимого --> которое дает возможность генерировать дальше фантомно ключ ..." ----> как этот момент мне обойти, чтобы я мог производить генерацию без наличия в richTextBox текста?
0
 Аватар для Enifan
1853 / 1201 / 502
Регистрация: 14.10.2018
Сообщений: 3,342
17.07.2020, 16:52
как ключ влияет на содержимое? есть текст, а есть ключ 23415. Во время кодировки и декодировки он имеет значение, до этого никакой взаимосвязи.
0
 Аватар для xamelione25
-4 / 5 / 2
Регистрация: 04.02.2013
Сообщений: 1,861
17.07.2020, 16:57  [ТС]
Цитата Сообщение от Enifan Посмотреть сообщение
есть текст, а есть ключ 23415
Я сделал не стационарный ключ, а динамический, который можно ввести вручную или нажать "сгенерировать". И факт осуществления вот этой генерации при пустом richTextBox - выдает ошибку. Вот и вопрос возникает: как обойти потребность ввода текста перед генерацией ключа?
0
 Аватар для Enifan
1853 / 1201 / 502
Регистрация: 14.10.2018
Сообщений: 3,342
17.07.2020, 17:08
Цитата Сообщение от xamelione25 Посмотреть сообщение
при пустом richTextBox - выдает ошибку
значит ошибка в коде, обращение к пустому объекту, или выход за пределы индекса. это надо код смотреть. гадать что пальцем в небо
0
 Аватар для xamelione25
-4 / 5 / 2
Регистрация: 04.02.2013
Сообщений: 1,861
17.07.2020, 17:12  [ТС]
Цитата Сообщение от Enifan Посмотреть сообщение
гадать что пальцем в небо
ну у меня генерация в этих строках лежит (22 пост)
32-48
96-140
268-278
0
 Аватар для Enifan
1853 / 1201 / 502
Регистрация: 14.10.2018
Сообщений: 3,342
17.07.2020, 17:42
Цитата Сообщение от xamelione25 Посмотреть сообщение
ну у меня генерация в этих строках лежит (22 пост)
а ошибка на какой возникает, и какая ошибка ?
0
 Аватар для xamelione25
-4 / 5 / 2
Регистрация: 04.02.2013
Сообщений: 1,861
17.07.2020, 17:49  [ТС]
Enifan,
Цитата Сообщение от Enifan Посмотреть сообщение
а ошибка на какой возникает, и какая ошибка ?
на скрине ошибка.
И еще одна зацепка (непонятная для меня) - непонятно причем тут lable
C#
1
2
3
                private void label3_Click(object sender, EventArgs e)
        {
        }
Миниатюры
System.ArgumentOutOfRangeException: "Индекс и длина должны указывать на позицию в строке. Имя параметра: length"   System.ArgumentOutOfRangeException: "Индекс и длина должны указывать на позицию в строке. Имя параметра: length"  
0
 Аватар для Enifan
1853 / 1201 / 502
Регистрация: 14.10.2018
Сообщений: 3,342
17.07.2020, 18:32
Цитата Сообщение от xamelione25 Посмотреть сообщение
непонятно причем тут lable
а мне откуда знать? кто автор этих сток ?
Цитата Сообщение от xamelione25 Посмотреть сообщение
на скрине ошибка.
почему ошибка понятно, вопрос в том - какова роль метода DecrTable ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.07.2020, 18:32

[Ошибка] Индекс и длина должны указывать на позицию в строке
В результате должен получится треугольник, но возникает ошибка. Сам код: string grid3 = &quot;###################&quot;; string...

Ошибка "System.ArgumentOutOfRangeException: "Индекс и длина должны указывать на позицию в строке"
Ошибка возникла в строке &quot;a = phrase.Substring(2, 2);&quot; не могу понять почему. Прошу помочь. private void textBox1_TextChanged(object...

Код по сортировке текст из файла. Исключение: System.ArgumentOutOfRangeException: Индекс и показание счетчика должны...
Необработанное исключение: System.ArgumentOutOfRangeException: Индекс и показание счетчика должны указывать на позицию в строке. Жалуется...

System.ArgumentOutOfRangeException: "Индекс за пределами диапазона. Индекс должен быть положительным числом, а его разме
Здравствуйте. Имеется программа по пирамидальной сортировке. При запуске на пикчеБоксе (на Form1) должна отрисовываться стартовая...

System.ArgumentOutOfRangeException: "Индекс за пределами диапазона. Индекс должен быть положительным числом, а его разме
Привет всем. Помогите пожалуйста. Я уже всё перепробовал, но у меня выходит ошибка &quot;Индекс за пределами диапазона&quot;. Как...


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

Или воспользуйтесь поиском по форуму:
35
Ответ Создать тему
Новые блоги и статьи
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru