Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Конверт из IList<System.Windows.Point> в System.Drawing.PointF[]

70K
23 июля 2011 года
Benedikt
9 / / 16.07.2011
В общем, есть IList<System.Windows.Point>, надо конвертить его в System.Drawing.PointF[], только не через циклы. Помогите пожалуйста выполнить данную задачу, возможно, с помощью неуправляемого кода
278
23 июля 2011 года
Alexander92
1.1K / / 04.08.2008
Зачем здесь неуправляемый код?

 
Код:
IList<System.Windows.Point> points = new IList<System.Windows.Point>();
// ...
System.Drawing.PointF[] pointsArray = points.ConvertAll(p => new System.Drawing.Point(p.x, p.y));


Или то же самое без лямбда-выражений:
 
Код:
public static System.Drawing.PointF PointToPointF(System.Windows.Point p) {
  return new PointF(p.x, p.y);
}

// ...

IList<System.Windows.Point> points = new IList<System.Windows.Point>();
// ...
System.Drawing.PointF[] pointsArray = points.ConvertAll(new Converter<System.Windows.Point, System.Drawing.PointF>(PointToPointF));
70K
23 июля 2011 года
Benedikt
9 / / 16.07.2011
Про неуправляемый код просто мне высказали возможный путь решения, а я в нем вообще хз.
А за решение спасибо
P.S. А на огромных объемах проблем со скоростью не должно возникнуть?
70K
23 июля 2011 года
Benedikt
9 / / 16.07.2011
В мсдн пишут что ConvertAll поэлементно преобразует, отсюда и появился вопрос, будет ли рациональным использование именно этого способа в случае с большим количеством элементов
278
23 июля 2011 года
Alexander92
1.1K / / 04.08.2008
Ну за одно обращение вы никогда не преобразуете List в PointF[], у них же структура разная. Поэтому абсолютно любое решение так или иначе будет иметь сложность O(n).

Upd: К примеру, то же самое можно реализовать через List<T>.ToArray(), List<T>.CopyTo(). Но поэлементное копирование все равно неизбежно.
70K
23 июля 2011 года
Benedikt
9 / / 16.07.2011
ясно, спасибо
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог