Ответ 1
Число 0
в {0:X}
относится к позиции в списке или аргументах. В этом случае 0
означает использование первого значения, которое равно Blue
. Используйте {1:X}
для второго аргумента (Green
) и т.д.
colorstring = String.Format("#{0:X}{1:X}{2:X}{3:X}", Blue, Green, Red, Space);
Синтаксис параметра формата описан в документации:
Синтаксис элемента формата
Каждый элемент формата принимает следующий вид и состоит из следующих компонентов:
{ index[,alignment][:formatString]}
Требуются согласованные фигурные скобки ( "{" и "}" ).
Индексный компонент
Обязательным компонентом индекса, также называемым спецификатором параметра, является число, начинающееся с 0, которое идентифицирует соответствующий элемент в списке объектов. То есть, элемент формата, спецификатор параметра которого равен 0, форматирует первый объект в списке, элемент формата, спецификатор которого равен 1, форматирует второй объект в списке и т.д.
Элементы нескольких форматов могут ссылаться на один и тот же элемент в списке объектов, указывая один и тот же спецификатор параметров. Например, вы можете отформатировать одно и то же числовое значение в шестнадцатеричном, научном и числовом формате, указав такую композитную строку формата: "{0: X} {0: E} {0: N}".
Каждый элемент формата может ссылаться на любой объект в списке. Например, если есть три объекта, вы можете отформатировать второй, первый и третий объекты, указав строку составного формата следующим образом: "{1} {0} {2}". Объект, на который не ссылается элемент формата, игнорируется. Исключение выполнения, если спецификатор параметра обозначает элемент за пределами списка объектов.
Компонент выравнивания
Необязательный компонент выравнивания представляет собой целое число со знаком, указывающее предпочтительную ширину форматированного поля. Если значение выравнивания меньше длины форматированной строки, выравнивание игнорируется, а длина форматированной строки используется как ширина поля. Отформатированные данные в поле выравниваются по правому краю, если выравнивание положительное и выравнивание по левому краю, если выравнивание отрицательное. Если требуется заполнить, используется пробел. Заданная запятая требуется, если указано выравнивание.
Компонент форматирования строк
Дополнительный компонент formatString - это строка формата, подходящая для типа форматируемого объекта. Укажите стандартную или пользовательскую строку числового формата, если соответствующий объект является числовым значением, стандартной или пользовательской строкой формата даты и времени, если соответствующий объект является объектом DateTime или строкой формата перечисления, если соответствующий объект является значением перечисления. Если formatString не указан, используется общий спецификатор формата ( "G" ) для числа, даты и времени или типа перечисления. Двоеточие требуется, если указано formatString.
Обратите внимание, что в вашем случае у вас есть только индекс и строка формата. Вы не указали (и не нуждаетесь) компонент выравнивания.