2016-03-19 2 views
0

После изучения того, как Create a method with infinite parameters, мне интересно, является ли законным хранить массив параметров в массиве. Это вызовет какие-либо проблемы, поскольку я не вижу, чтобы многие люди использовали этот подход.C# Методы с бесконечным доступом к массиву параметров

код ниже:

class Foo 
{ 
    private String[] Strings; 

    public Foo(params String[] strings) 
    { 
     Strings = strings; 
    } 
    ... 
} 
+2

Сторона примечания: она не бесконечна - массив имеет максимальный размер 'int.MaxValue' –

ответ

4

Это хорошо - это просто массив.

Все компилятор с массивом параметров является преобразование вызова, как это:

Foo("x", "y"); 

в:

Foo(new string[] { "x", "y" }); 

Это все есть на него. Все, что вы ожидаете быть подходящим для второго вызова, отлично с массивом параметров.

Массивы, переданные в общедоступные методы, редко подходят для хранения непосредственно из-за того, что все массивы являются изменяемыми, но это вопрос того, как вы обрабатываете изменяемые типы параметров, а не специфичны для массивов параметров.

Смежные вопросы