Разобрать строку позиций XAML в список Point3D - PullRequest
2 голосов
/ 07 августа 2020

Я пытаюсь найти наиболее элегантный способ преобразовать строку в список точек.

Источник - файл XAML. Вот пример списка точек:

Positions = "- 25,5,0 -25,5,5 25,5,0 25,5,5 25,5,0 25 , 5,5 25,10,0 25,10,5 25,10,0 25,10,5 -25,10,0 -25,10,5 -25,10,0 -25,10,5 -25 , 5,0 -25,5,5 -25,5,0 25,5,0 25,10,0 -25,10,0 -25,5,5 25,5,5 25,10,5 -25 , 10,5 "

Я хочу преобразовать его в список Point3D:

List<Point3D> Positions

Я знаю два основных инструмента c, которые мне нужны: Point3D.Parse ( ) и String.Split (), но моих знаний о linq недостаточно, чтобы сделать это элегантно.

Ответы [ 2 ]

2 голосов
/ 07 августа 2020

Этого должно хватить на то, что вам нужно

List<Point3D> positions = positionsString
    .Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
    .Select(p => Point3D.Parse(p))
    .ToList();
2 голосов
/ 07 августа 2020

Хорошо, просто задав вопрос заставил меня найти ответ:

List<Point3D> Positions= PositionsString.Value.Split(' ')
                                 .Select(Point3D.Parse)
                                 .ToList();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...