Змінна кількість аргументів

Вправи з використанням масивів параметрів та змінної кількості параметрів.

1. Квадрати елементів

Завдання: Написати метод, який приймає змінну кількість цілих чисел, підносить їх до квадрату та повертає масив значень.

Рішення
using System;

class Program
{
    static int[] Sqr(params int[] nums)
    {
        for (int i = 0; i < nums.Length; i++)
            nums[i] *= nums[i];
        return nums;
    }

    static void Main(string[] args)
    {
        Console.WriteLine(string.Join(", ", Sqr(1, 2, 3, 4, 5, 6)));
        Console.ReadLine();
    }
}

2. Перетворення масиву

Завдання: Напишіть програму метод якої, приймає на вхід масив і перемножує всі відємні елементи на задане в якості параметру число.

Рішення
using System;

class Program
{
    static float[] Mult(float k, params float[] a)
    {
        for (int i = 0; i < a.Length; i++)
        {
            if (a[i] < 0)
            {
                a[i] *= k;
            }
        }
        return a;
    }

    static void Main(string[] args)
    {
        Console.WriteLine(string.Join(", ", Mult(-2, -7, -3, 0, 7, 9, 11)));
        Console.ReadLine();
    }
}

3. Нумерація рядків

Завдання: Напишіть програму, метод якої, приймає на вхід змінну кількість рядків і додає на початок кожного рядку номер, починаючи з заданого.

Рішення
using System;

class Program
{
    static string[] AddNumbers(int first, params string[] lines)
    {
        for (int i = 0; i < lines.Length; i++)
        {
            lines[i] = (i + first).ToString() + ". " + lines[i];
        }
        return lines;
    }

    static void Main(string[] args)
    {
        Console.WriteLine(string.Join("\r\n", AddNumbers(1, "One", "Two", "Three")));
        Console.ReadLine();
    }
}

Дивіться також: