Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/26: Рейтинг темы: голосов - 26, средняя оценка - 4.96
)))
 Аватар для aleks_pilipenko
610 / 423 / 55
Регистрация: 31.12.2009
Сообщений: 2,334
Записей в блоге: 3

Как через цикл foreach перебрать все свойства LineCap для пера?

21.11.2011, 07:51. Показов 5430. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C#
1
2
3
4
5
6
7
            Pen myPen = new Pen(Color.Blue,10);
            int i ;
            foreach (LineCap ff in LineCap)
            {
                myPen.StartCap = ff; i += 20;
                e.Graphics.DrawLine(myPen, 10, i, 180, i);
            }
Добавлено через 9 минут
В общем сделал так:
C#
1
2
3
4
5
6
7
8
            Pen myPen = new Pen(Color.Blue,10);
            LineCap[] fgf = { LineCap.AnchorMask, LineCap.ArrowAnchor, LineCap.Custom, LineCap.DiamondAnchor, LineCap.Flat, LineCap.NoAnchor, LineCap.Round, LineCap.RoundAnchor, LineCap.Square, LineCap.SquareAnchor, LineCap.Triangle };
            int i=0;
            foreach (LineCap ff in fgf)
            {
                myPen.StartCap = ff; i += 20;
                e.Graphics.DrawLine(myPen, 10, i, 180, i);
            }
Хотя хотелось бы без создания массива перед циклом...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.11.2011, 07:51
Ответы с готовыми решениями:

Как перебрать все элементы ассоциативного массива, не используя ключи и foreach?
имеется массив с ключом string. Как мне его перебрать весь, не используя эти ключи и не используя foreach ?

Как можно вместа цикла for записать через цикл foreach?
Здравствуйте. Как можно вместа цикла for записать через цикл foreach? static void Change(int a) { for (int i =...

Yii: Как вывесть элементы предложеного массива через цикл foreach?
нужно вывесть значения элемента content которое равно например: контент контент............. вот пример массива: Array ( ...

6
 Аватар для Etrimus
399 / 366 / 54
Регистрация: 23.05.2010
Сообщений: 716
21.11.2011, 09:28
Цитата Сообщение от aleks_pilipenko Посмотреть сообщение
Хотя хотелось бы без создания массива перед циклом...
Попробуй вот так. В цикле перебираются все константы перечисления. Выводтся в консоль для примера.
C#
1
2
3
4
            foreach (var item in Enum.GetNames(typeof(System.Drawing.Drawing2D.LineCap)))
            {
                Console.WriteLine(item);
            }
1
)))
 Аватар для aleks_pilipenko
610 / 423 / 55
Регистрация: 31.12.2009
Сообщений: 2,334
Записей в блоге: 3
21.11.2011, 09:42  [ТС]
А из string в LineCap как конвертировать?
0
 Аватар для Ereona
374 / 135 / 19
Регистрация: 16.07.2010
Сообщений: 342
21.11.2011, 11:19
C#
1
2
3
4
5
            foreach (object ff in Enum.GetValues(typeof(System.Drawing.Drawing2D.LineCap)))
            {
                myPen.StartCap = (System.Drawing.Drawing2D.LineCap)ff; i += 20;
                e.Graphics.DrawLine(myPen, 10, i, 180, i);
            }
1
)))
 Аватар для aleks_pilipenko
610 / 423 / 55
Регистрация: 31.12.2009
Сообщений: 2,334
Записей в блоге: 3
21.11.2011, 11:30  [ТС]
Сам долго перебирал различные сочетания, до Enum.GetValues так и не добрался...
Спасибо.

Добавлено через 7 минут
Кстати, код
C#
1
2
            string[] ghg = Enum.GetNames(typeof(LineCap));
            LineCap[] jjjj = Enum.GetValues(typeof(LineCap));
для string работает, а для LineCap - нет.
0
 Аватар для Ereona
374 / 135 / 19
Регистрация: 16.07.2010
Сообщений: 342
21.11.2011, 11:51
Этот метод возвращает нетипизированный массив.
C#
1
object[] jjjj = Enum.GetValues(typeof(LineCap));
Еще можно использовать методы Enum.Parse() или Enum.TryParse() для преобразования строки в объект заданного типа.
1
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
21.11.2011, 11:54
Цитата Сообщение от aleks_pilipenko Посмотреть сообщение
для string работает, а для LineCap - нет.
Попробуйте так:
C#
1
LineCap[] jjjj = Enum.GetValues(typeof(LineCap)) as LineCap[];
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.11.2011, 11:54
Помогаю со студенческими работами здесь

Как перебрать переменную вместе с Foreach
Подскажите пожалуйста как перебрать переменные вместе с foreach - проблема в том что данные Foreach перебираются, но к ним нужно добавить...

Перебрать все контроллы на форме и присвоить одним свойства других
Здравствуйте! foreach (Control control in Controls) { TextBox tb = control as TextBox; ...

Как с через xpath перебрать все строки и ячейки HTML таблицы
Хелп! Бьюсь не один день. Есть к примеру такая таблица <table class="list_rek_table"> <tbody> <tr> <td><span...

Как перебрать свойства объекта?
Возможно ли это в принципе и если да , то как? В Visual Basic 6 Desktop эта возможность объявляется, но не описывается - сказано только...

Как прописать цикл foreach для чтения и выделения текста в richTextBox?
Есть код: try { string str1 = richTextBox1.Lines.ToArray(); for (int i =...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru