@CallMeYourDaddy

Не получается взаимодействовать с params. Что делать?

Я нахожу площадь фигур и делаю следующее:
public FigureArea(params double[] numbers)
        {
            if (numbers.Length == 1)
            {
                var area = Math.PI * Math.Pow(numbers, 2);
            }
        }


Ну вы поняли, что здесь происходит. Проблема в том, что numbers - это массив и не совсем понятно, как элемент этого массива умножить на 2

я могу, конечно, и просто конструкторов понаделать:
public class FigureArea : IFigureArea
    {     
        public FigureArea(double radius)
        {
            CirleByRadius(radius);
        }

        public FigureArea(double firstSide, double secondSide, double thirdSide)
        {
            TriangleBySide(firstSide, secondSide, thirdSide);
        }


Но мне такой вариант не нравится, я хочу более лаконичный (через парамс)
  • Вопрос задан
  • 64 просмотра
Решения вопроса 1
freeExec
@freeExec
Участник OpenStreetMap
var area = Math.PI * Math.Pow(numbers[0], 2);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Сделайте интерфейс ifigure у него метод getsquare и просто дергайте его. А каждый класс пусть сам считает
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы