#c# #struct #colors #enums
#c# #структура #Цвет #перечисления
Вопрос:
Почему System.Drawing.Color
структура и System.ConsoleColor
перечисление?
Ответ №1:
Потому что консоль поддерживает только небольшой набор цветов, в то System.Drawing
время как моделирует все возможные 24-битные цвета (32-битные с альфа). Это более 4 миллиардов возможных цветов, что было бы большим перечислением!
Вот цвета консоли:
Существует 16 цветов переднего плана плюс 16 цветов фона.
Обратите внимание, что в System.Drawing
некоторых цветах даны имена, но они не являются перечислением — это статические поля, такие как Color.Red
и Color.Aquamarine
.
То же самое верно System.Windows.Media.Color
для (как используется в WPF).
Ответ №2:
Потому что для консоли существует 16 хорошо известных цветов, но 16777216 цветов (плюс 256 альфа-уровней для каждого), которые можно использовать в целом. Вы хотели бы назвать все 4 миллиарда из них и написать код, который затем преобразует эти перечисления обратно в фактические значения RGBA?