Мне нужно объявить пустой строковый массив, и я использую этот код
string[] arr = new String[0]();
Но я получаю "ожидаемое имя метода" ошибку.
Что'не так?
Попробуйте это
string[] arr = new string[] {};
У вас неправильный синтаксис:
string[] arr = new string[]{};
или
string[] arr = new string[0];
Если вы используете .чистая 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()
(к сожалению, на мобильных)
Эти курчавые вещи иногда трудно вспомнить, что'что's превосходное документация:
// Declare a single-dimensional array
int[] array1 = new int[5];
Ваш синтаксис неверен.
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();
Следующее должно работать нормально.
string[] arr = new string[] {""};