Инициализация массива строк в вызове метода в качестве параметра в C#

Так, чем больше я управляю своим программированием путем записи тестов, тем меньше я волнуюсь об уровне granuality тестирования. Оглядываясь назад кажется, что я делаю самую простую вещь, возможную достигнуть моей цели проверки поведение . Это означает, что я генерирую слой уверенности, что мой код делает то, что я прошу делать, однако это не рассматривают как абсолютную гарантию, что мой код является свободной ошибкой. Я чувствую, что корректный баланс к поведению стандарта тестирования, и возможно пограничный случай или два тогда идет дальше к следующей части моего дизайна.

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

6
задан Mark Carpenter 13 September 2009 в 00:06
поделиться

4 ответа

вы можете сделать это:

DoSomething(10, new[] {"One", "Two", "Three"});

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

18
ответ дан 8 December 2019 в 02:53
поделиться

Если DoSomething - это функция, которую вы можете изменить, вы можете использовать ключевое слово params для передачи нескольких аргументов без создания массива. Он также будет правильно принимать массивы, поэтому нет необходимости «разбирать» существующий массив.

class x
{
    public static void foo(params string[] ss)
    {
        foreach (string s in ss)
        {
            System.Console.WriteLine(s);
        }
    }

    public static void Main()
    {
        foo("a", "b", "c");
        string[] s = new string[] { "d", "e", "f" };
        foo(s);
    }
}

Вывод:

$ ./d.exe 
a
b
c
d
e
f
10
ответ дан 8 December 2019 в 02:53
поделиться

Попробуйте следующее:

DoSomething(10, new string[] {"One", "Two", "Three"});
2
ответ дан 8 December 2019 в 02:53
поделиться

Вы можете построить его, передавая его так:

DoSomething(10, new string[] { "One", "Two", "Three"});
2
ответ дан 8 December 2019 в 02:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: