В стандартной библиотеке шаблонов С++ (STL) можно, например, создать вектор, состоящий из нескольких копий одного и того же элемента, используя этот конструктор:
std::vector<double> v(10, 2.0);
Это создаст вектор из 10 двойников, изначально установленный в 2.0.
Я хочу сделать аналогичную вещь в С#, более конкретно создавая массив из n парных чисел со всеми элементами, инициализированными одним и тем же значением x.
Я придумал следующий однострочный слой, полагающийся на общие коллекции и LINQ:
double[] v = new double[n].Select(item => x).ToArray();
Однако, если аутсайдер прочитает этот код, я не думаю, что сразу будет видно, что на самом деле делает код. Я также обеспокоен производительностью, я полагаю, что было бы быстрее инициализировать элементы массива через цикл for (хотя я еще не проверял). Кто-нибудь знает о более чистом и/или более эффективном способе выполнения этой задачи?