Есть ли более быстрый способ заполнить список, основанный на такой функции, как расстояние для векторов?Список заполнения на основе условия
private static IEnumerable<Vector2> SortSpecialBuildingsByDistance(
Vector2 house,
IEnumerable<Vector2> specialBuildings)
{
List<float> optionList = new List<float>();
foreach (var item in specialBuildings)
{
optionList.Add(Vector2.Distance(item, house));
}
}
Вы можете использовать Linq чтобы довести его до одной линии, но это было бы не быстрее. С другой стороны, ваш код даже не компилируется, так как он не имеет возврата. – juharr
Да, я знаю, что это только часть метода! Я предпочитаю один лайнер по сравнению с этим кодом –
Я не уверен, что использование чего-либо параллельного при добавлении в общий список фактически приведет к тому, что вы получите какую-либо производительность. Все, что вы делаете, сначала измерьте, затем решите. Кстати, я не вижу, чтобы вы что-то фильтровали, добавляя только расстояние до списка. –