Переменное количество аргументов

Упражнения с использованием массивов параметров и переменного количества параметров.

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();
    }
}

Смотрите также: