Мені потрібно оголосити порожній рядковий масив, і я використовую цей код
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();