C #: PointF () Массив инициализатор
-
05-07-2019 - |
Вопрос
Мне нужно жестко закодировать массив точек в моей программе на C #. Инициализатор в стиле C не работает.
PointF[] points = new PointF{
/* what goes here? */
};
Как это делается?
Решение
Вот так:
PointF[] points = new PointF[]{
new PointF(0,0), new PointF(1,1)
};
В c # 3.0 вы можете написать его еще короче:
PointF[] points = {
new PointF(0,0), new PointF(1,1)
};
update Гуффа отметил, что мне не хватало var points
, действительно невозможно «неявно типизированной переменной с инициализатором массива».
Другие советы
Вам нужно создать экземпляр каждого PointF с новым.
Что-то вроде
Pointf [] points = {new PointF (0,0), новый PointF (1,1) и т. д ...
Синтаксис здесь не может быть на 100% ... Я возвращаюсь к тому времени, когда мне в последний раз приходилось делать это много лет назад.
PointF[] points = new PointF[]
{
new PointF( 1.0f, 1.0f),
new PointF( 5.0f, 5.0f)
};
Для C # 3:
PointF[] points = {
new PointF(1f, 1f),
new PointF(2f, 2f)
};
Для C # 2 (и 1):
PointF[] points = new PointF[] {
new PointF(1f, 1f),
new PointF(2f, 2f)
};
Не связан с StackOverflow