Мне нужно объявить пустой массив строк, и я использую этот код
string[] arr = new String[0]();
Но я получаю ошибку "имя метода ожидается".
В чем дело?
Мне нужно объявить пустой массив строк, и я использую этот код
string[] arr = new String[0]();
Но я получаю ошибку "имя метода ожидается".
В чем дело?
Ответы:
Попробуй это
string[] arr = new string[] {};
c# Array.Empty<string>()
Ваш синтаксис неправильный:
string[] arr = new string[]{};
или
string[] arr = new string[0];
Если вы используете .net 4.6, у них есть новый синтаксис, который вы можете использовать:
using System; // To pick up definition of the Array class.
var myArray = Array.Empty<string>();
Конструкторы массивов разные. Вот несколько способов сделать пустой массив строк:
var arr = new string[0];
var arr = new string[]{};
var arr = Enumerable.Empty<string>().ToArray()
(извините, на мобильном телефоне)
Эти кудрявые вещи иногда трудно запомнить, поэтому есть отличная документация :
// Declare a single-dimensional array
int[] array1 = new int[5];
int
с , string
если он любит.
Ваш синтаксис неверен.
string[] arr = new string[5];
Это создаст arr
ссылочный массив строк, в котором находятся все элементы этого массива null
. (Поскольку строки являются ссылочными типами )
Этот массив содержит элементы из arr[0]
в arr[4]
. new
Оператор используется для создания массива и инициализации элементов массива в их значения по умолчанию. В этом примере все элементы массива инициализируются в null
.
Если вам нужно создать пустой массив, вы можете сделать это:
string[] arr = new string[0];
Если вы не знаете о размере, вы также можете использовать List<string>
как
var valStrings = new List<string>();
// do stuff...
string[] arrStrings = valStrings.ToArray();