С# объявляет пустой массив строк

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

string[] arr = new String[0]();

но я получаю ошибку "имя метода".

Что не так?

Спасибо

Ответ 1

Попробуйте это

string[] arr = new string[] {};

Ответ 2

Ваш синтаксис неверен:

string[] arr = new string[]{};

или

string[] arr = new string[0];

Ответ 3

Вы можете попробовать это

string[] arr = {};

Ответ 4

Конструкторы массивов разные. Вот несколько способов сделать пустой массив строк:

var arr = new string[0];
var arr = new string[]{};
var arr = Enumerable.Empty<string>().ToArray()

(извините, на мобильном телефоне)

Ответ 5

Если вы используете .net 4.6, у них есть новый синтаксис, который вы можете использовать:

var myArray = Array.Empty<string>();

Ответ 6

Если вы должны создать пустой массив, вы можете сделать это:

string[] arr = new string[0];

Если вы не знаете о размере, вы также можете использовать List<string>, а также

var valStrings = new List<string>();

// do stuff...

string[] arrStrings = valStrings.ToArray();

Ответ 7

Те кудрявые вещи иногда трудно запомнить, поэтому отличная документация:

// Declare a single-dimensional array  
int[] array1 = new int[5];

Ответ 8

Синтаксис недействителен.

string[] arr = new string[5];

Это создаст массив string, на который ссылаются arr, и все элементы массива null. (Так как строки являются ссылочными типами)

Этот массив содержит элементы от arr[0] до arr[4]. Оператор new используется для создания массива и инициализации элементов массива по умолчанию. В этом примере все элементы массива инициализируются на null.

Single-Dimensional Arrays (C# Programming Guide)

Ответ 9

Random random = new Random();
        int randomNumber1 = random.Next(0, 100);
        int randomNumber2 = random.Next(0, 100);

        double som = randomNumber1 + randomNumber2;

        Console.WriteLine(randomNumber1);
        Console.WriteLine(randomNumber2);
        Console.WriteLine("Tel de getallen op");

        bool juist_geantwoord = false;
        while (!juist_geantwoord)
        {
            string input = Console.ReadLine();
            double input_omgezet;

            if (Double.TryParse(input, out input_omgezet))
                //Double.Tryparse = no crach
                if (Convert.ToDouble(input_omgezet) == som)
                {
                    Console.WriteLine("Juist!");
                    juist_geantwoord = true;
                }
                else
                {
                    Console.WriteLine("Fout, probeer opnieuw");
                    juist_geantwoord = false;
                    //moet niet perse

                }