Бесплатный курс по csharp. Зарегистрируйтесь для отслеживания прогресса →

C#: Параметры методов

Для добавления параметров в собственные методы, достаточно указать их в скобках при определении метода. Ниже пример определения статического метода, который возвращает последний символ в строке:

class App
{
    // При определении метода тип указывать обязательно
    public static char GetLastChar(string str)
    {
        // Вычисляем индекс последнего символа
        var lastChar = str.Length - 1;
        // извлекаем и возвращаем наружу
        return str[lastChar];
    }
}

У метода GetLastChar() ровно один параметр типа string. Параметр обязателен. Если попробовать вызвать метод без параметра, то компилятор выдаст ошибку:

App.GetLastChar();
// error CS7036: There is no argument given that corresponds to the required formal parameter 'str' of 'App.GetLastChar(string)'

Точно таким же образом можно указывать два, три и более параметров:

class App
{
    // Метод по нахождению среднего числа
    // Возвращаемый тип double
    public static double Average(int x, int y)
    {
        return (x + y) / 2.0;
    }
}

App.Average(1, 5); // 3.0
App.Average(1, 2); // 1.5

Задание

Реализуйте статический метод Truncate(), который обрезает переданный текст и добавляет в конце троеточие. Подобная логика часто используется на сайтах, чтобы отобразить длинный текст в сокращенном виде.

// Первый параметр – сама строка, второй – число символов, которые нужно оставить
App.Truncate("Три закона робототехники придумали кожаные мешки, но мы их перехитрим", 48);
// "Три закона робототехники придумали кожаные мешки..."

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются https://github.com/hexlet-basics
Если вы столкнулись с трудностями и не знаете, что делать, задайте вопрос в нашем большом и дружном сообществе