Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
 Аватар для inoplanetyanya
1 / 1 / 1
Регистрация: 31.01.2018
Сообщений: 35

List<>.ToArray<>() System.ArgumentException: "Недопустимый параметр."

06.04.2020, 11:00. Показов 1857. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Что я делаю не так?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
class Curve {
    public List<Point> points = new List<Point>();
    
    public Curve (Point point1, int brushSize, Color colorLine) {
        points.Add(point1);
    }
 
    public void Draw(Graphics g) {
        Pen pen = new Pen(colorLine, brushSize);
        g.DrawCurve(pen, points.ToArray<Point>()); //В этом месте получаю ошибку System.ArgumentException: "Недопустимый параметр."
    }
 
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.04.2020, 11:00
Ответы с готовыми решениями:

System.ArgumentException: "Недопустимый параметр."
Добрый день, сделал проект по записи экрана в файл, при запуске все работает, через секунд 30 вылезает данная ошибка. Как ее можно...

Недопустимый параметр : ArgumentException
RotateImage(image, image, (float) angle); Bitmap bm = new Bitmap(image); после поворота выводит ошибку здесь Bitmap bm = new...

System.ArgumentException в System.Drawing.dll при работе с Gif
Необработанное исключение типа &quot;System.ArgumentException&quot; произошло в System.Drawing.dll using System; using...

8
 Аватар для samana
2639 / 1567 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
06.04.2020, 12:26
Попробуйте просто
C#
1
points.ToArray()
1
 Аватар для inoplanetyanya
1 / 1 / 1
Регистрация: 31.01.2018
Сообщений: 35
06.04.2020, 12:30  [ТС]
samana, То же самое получается
0
 Аватар для samana
2639 / 1567 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
06.04.2020, 13:03
А точно именно там проблема? Если в метод DrawCurve передать именно массив, ошибка исчезает?
1
 Аватар для inoplanetyanya
1 / 1 / 1
Регистрация: 31.01.2018
Сообщений: 35
06.04.2020, 13:31  [ТС]
samana, Да, исчезает
0
 Аватар для Enifan
1848 / 1190 / 501
Регистрация: 14.10.2018
Сообщений: 3,211
06.04.2020, 13:43
Лучший ответ Сообщение было отмечено inoplanetyanya как решение

Решение

Цитата Сообщение от samana Посмотреть сообщение
points.ToArray()
данная ошибка является синтаксической. Visual Studio перестает подчеркивать ее после исправления. Однако проблема на этом не решена
inoplanetyanya, я не работал с графикой, и с данными классами, методами тоже. Методом "тыка" попробовал разные варианты, и нашел один работающий вариант. Список пустой - потому и ошибка, заполните его хотя бы одним значением
C#
1
public List<Point> points = new List<Point>() { new Point() };
В остальном вам поможет только Документация
2
 Аватар для inoplanetyanya
1 / 1 / 1
Регистрация: 31.01.2018
Сообщений: 35
06.04.2020, 13:50  [ТС]
Enifan, Хм, действительно. Осталось разобраться почему у меня лист пустой получается, но с этим я наверное справлюсь. Спасибо!
0
 Аватар для samana
2639 / 1567 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
06.04.2020, 13:50
Это очень странно. У меня не получилось воспроизвести такую ситуацию.
Хорошо, если ничего не помогает, то попробуйте вот так:
C#
1
2
3
4
5
6
7
8
9
10
11
public void Draw(Graphics g)
{
    Pen pen = new Pen(colorLine, brushSize);
 
    Point[] pointsArray = new Point[points.Count];
    for (int i = 0; i < points.Count; i++)
    {
        pointsArray[i] = points[i];
    }
    g.DrawCurve(pen, pointsArray); //В этом месте получаю ошибку System.ArgumentException: "Недопустимый параметр."
}
1
 Аватар для inoplanetyanya
1 / 1 / 1
Регистрация: 31.01.2018
Сообщений: 35
06.04.2020, 14:05  [ТС]
samana,
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
sing System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace Lab4 {
    [Serializable()]
    class Curve : Figure {
 
        public List<Point> points = new List<Point>() { new Point(1, 1), new Point(200, 200) };
 
        public Curve(Point point1, Point point2, int brushSize, Color colorLine, Color colorBackground) : base(point1, point2, brushSize, colorLine, colorBackground) {
 
        }
 
        public override void DrawDash(Graphics g) {
            Pen pen1 = new Pen(colorLine, brushSize);
            pen1.DashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
            g.DrawCurve(pen1, points.ToArray());
        }
 
        public override void Draw(Graphics g, int scrollV, int scrollH) {
            Pen pen1 = new Pen(colorLine, brushSize);
            g.DrawCurve(pen1, points.ToArray<Point>());
        }
 
        public override void Hide(Graphics g) {
            Pen pen1 = new Pen(Color.White, brushSize);
            g.DrawCurve(pen1, points.ToArray());
        }
    }
}
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Drawing;
 
namespace Lab4 {
    [Serializable()] abstract class Figure {
        protected int x1, y1, x2, y2, x, y;
        protected int brushSize; protected Color colorLine, colorBackground;
        public Figure(Point point1, Point point2, int brushSize, Color colorLine, Color colorBackground) {
 
            x1 = point1.X;
            y1 = point1.Y;
            x2 = point2.X;
            y2 = point2.Y;
 
            if (x1 > x2) { x = x2; x2 = x1; x1 = x; }
            if (y1 > y2) { y = y2; y2 = y1; y1 = y; }
 
            this.brushSize = brushSize;
            this.colorLine = colorLine;
            this.colorBackground = colorBackground;
 
        }
        public abstract void Draw(Graphics g, int scrollV, int scrollH);
        public abstract void DrawDash(Graphics g);
        public abstract void Hide(Graphics g);
 
        public int Width() {
            return x2;
        }
        public int Height() {
            return y2;
        }
    }
}
Так, сейчас несколько строк отсутствует, которыми я безуспешно пытался в классе Curve добавлять точки в лист при движении мышкой, но в общем это все что есть

Добавлено через 12 минут
Цитата Сообщение от samana Посмотреть сообщение
pointsArray[i] = points[i];
Ну да, так тоже не работает, значит дело точно в том, что у меня лист пустой получается
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.04.2020, 14:05
Помогаю со студенческими работами здесь

Необработанное исключение типа "System.ArgumentException" в System.Drawing.dll
Доброго времени суток. Возникла проблема с загрузкой изображения из базы данных. Вот собственно код: ...

Необработанное исключение типа "System.ArgumentException" в System.dll
доброго времени суток!!!! проблема такая не могу настроить отправку на почту майл!!!!!! у меня есть форма где добавляешь аккаунт я...

Не могу перехватить исключение System.ArgumentException
Вот кусок кода: try { StreamReader sr = File.OpenText(path); for (int i = 0; i...

Bitmap.FromStream() Недопустимый параметр
Выручайте, весь день мучаюсь с этой ерундой. using ICSharpCode.SharpZipLib.Zip; ZipFile zip = new ZipFile(FileName); ZipEntry...

System.argumentexception: Источник уже существует на локальном компьютере
Пытаюсь создать небольшую службу под win но при инсталяции возникает исключение ...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере 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
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru