progs.biz  
Начало > C# > Основы > Урок 25
C#
VB.NET
Visual C++.NET
ASP.NET
Visual C++ 6
WinAPI
C/C++
Delphi
C++ Builder
Java
PHP
DirectX
Visual Basic 6.0
Ассемблер
Интернет
Сист. прогр-ние
Pocket PC
Обзор книг
Обзор программ

Разработка Windows-приложений на Visual Basic.NET и Visual C#.NET. Учебный курс MCAD/MCSD.
 Разработка Windows-приложений на Visual Basic.NET и Visual C#.NET. Учебный курс MCAD/MCSD.
Заказать на Озоне



Яндекс-цитирования

Основы C#. Урок 25. Передача параметров переменой длины

В функцию можно передавать заранее неизвестное число параметров. Например, функция может складывать некоторое заранее неизвестное количество чисел и возвращать их сумму.

Вот конкретный пример реализации такой функции:

using System;
class MyClass{
public static int Sum(params int[] args)
        {
            int res=0;
            for(int i=0; i<args.GetLength(0); i++){
                res+=args[i];
            }
            return res;
        }
}
namespace test
{
    class Test
    {
        
        public static void Main()
        {
            System.Console.WriteLine(MyClass.Sum(1, 3));
            System.Console.WriteLine(MyClass.Sum(12));
            System.Console.WriteLine(MyClass.Sum(-1, 9, 2));
        }
    }
}

Здесь в классе MyClass мы объявляем статческую фунцкию Sum, в которую мы можем передавать переменное число параметров. Для этого в круглых скобках после имени функции мы пишем конструкцию

...
public static int Sum(params int[] args)
...

Синтаксис у нее такой - сначала пишем ключевое слово params, затем - тип параметров (int в данном случае), после которого ставим пустые квадратные скобки и в конце этой конструкции пишем произвольное имя параметра (в нашем примере он назван args).

В классе test мы испытываем наш класс MyClass, а именно, вызываем функцию Sum с разным числом параметров. Все работает как надо и наша программа покажет на экране 4, 12 и 10.

Рассылки нашего сайта на Subscribe.Ru
Visual C++, MFC
C# и .NET
VB.NET
ASP.NET new!
Win API
C/C++
Delphi
Java
HTML, PHP, mySQL, WEB-дизайн
Flash MX
C++ Builder
Ассемблер
SQL Server
DirectX
Обзор книг
Обзор программ
Новости сайта progs.biz

 
 
Копирование любых материалов сайта без разрешения авторов и владельцев сайта запрещено.
© 2002-2005 сайт progs.biz
© 2002-2005 Алексеев Игорь