ГЛАВНАЯ     АРХИВ     НАПИСАТЬ АДМИНУ     ПОДПИСАТЬСЯ НА RSS     ВОЙТИ      

Поиск

Категории

Облако тегов

  << Предыдущий пост       Следующий пост >>  
От: inbruk
1. декабря 2010 03:00

Ключевое слово params указывает переменное число аргументов, которые передаются в конструктор или метод. Например:


public Test( string arg0, float arg1, params int[] args )
{
}

Ключевое слово params определяет массив параметров переменного размера. Params в списке параметров может встречаться только на последнем месте. Все параметры этого массива должны быть одного типа. От вызова к вызову массив может иметь различную длинну. Соответственно метод при вызове может получать переменное число аргументов (параметров). В объявлении одного метода params может встречаться только один раз. Кроме того, ключевое слово params должно описывать именно одномерный массив. Многомерные массивы не допустимы. Еще один интересный аспект методов с params состоит в том, что они будут вызываться только тогда, когда не останется других перегруженных методов. Ниже приводится пример консольной программы на C#. В нем есть пять перегруженных конструкторов, в том числе конструктор по умолчанию и один конструктор с params:


using System;

namespace MultipleParameters
{
public class Test
{
public Test()
{
Console.WriteLine("default");
}
public Test(string arg0)
{
Console.WriteLine("one: arg0={0}", arg0);
}
public Test(string arg0, string arg1)
{
Console.WriteLine("two: arg0={0}, arg1={1}", arg0, arg1);
}
public Test(string arg0, string arg1, string arg2)
{
Console.WriteLine("three: arg0={0}, arg1={1}, arg2={2}",
arg0, arg1, arg2);
}
public Test(params string[] args)
{
int count = args.Length;
Console.Write("params: ");
if (count == 0)
Console.Write("(no args)");
else
{
for (int i = 0; i < count; i++)
{
string prefix = i == 0 ?
null : ", ";
Console.Write("{0}arg{1}={2}", prefix, i + 1, args[i]);
}
}
Console.WriteLine();
}
}
class Program
{
static void Main(string[] args)
{
Test test = new Test();
test = new Test("one");
test = new Test("one", "two");
test = new Test("one", "two", "three");
test = new Test("one", "two", "three", "four");

Console.ReadKey(true);
}
}
}


Берем себе айфон 4s 16gb в интернет-магазине KupilSlona.ru

Статья - банановая диета для похудения на сайте www.goodsenses.ru.

Открытые уроки по курсу вязания на спицах и крючком. Программа обучения на курсах вязания крючком.

Похожие записи


Вопросы на собеседовании C#, Net, ASP.NET, SQL
Продолжая тему вопросов на собеседовании. Нашел еще одну подборку. Оригинал лежит здесь . Перенес, чтобы не затерялось. Есть вполне вменяемые ответы (хотя, на некоторые вопросы ответил бы по-другому). Ответы находятся после списка вопросов, я их не менял. 23. Что такое шаблон проектирования Model/View/Controller? Как и зачем его применяют? 2...

Способы заработка на сайте
На этом блоге было много постов про производство и раскрутку сайтов. Но пока не было про заработок на них. Пора исправить этот недочет. Здесь будут описаны по возможности не фантастичные, и не супер низко прибыльные способы. Также упор будет сделан именно на организацию процесса, а не технических деталях, которых в обилии в интернете. Несмотря на то, что как пр...

Silverlight, HTML5 и непрозрачная стратегия развития Microsoft
Оригинал статьи взят отсюда: Silverlight, HTML5 и непрозрачная стратегия развития Microsoft Автор: Peter Bright Переводчик: Mairon     По непонятным мне на данный момент причинам, похоже, что многие разработчики, присутствовавшие на недавней конференции PDC-2010 (Крупнейшая конференция Microsoft для разработчиков — Прим. переводчика), были сильн...

Комментарии

 
nobelwerfer 29.07.2011 18:53:56 #

это интересно, но в реальности может понадобиться редко
списки рулят

Добавить комментарий




biuquote
  • Комментарий
  • Предпросмотр
Loading


  Сохранить комментарий