Зачем вам нужен пустой массив? Что ты пытаешься сделать?
г-н Т.
7
@MrT. не очень актуально для вопроса.
Джеймс
1
@ Джеймс - может быть, есть более элегантный способ сделать то, что он пытается сделать.
г-н Т.
4
@aquanat - хотя ответ уже принят, и я не знаю ваш код или логику, стоящую за ним, я бы смиренно предложил вам не возвращать пустой массив, а ноль и проверять вызывающую функцию, если возвращаемое значение равно нулю или не. Я думаю, что это было бы намного более элегантно, читабельно и эффективно.
Мистер Т.
2
Причина, по которой вы не хотите возвращать значение null, заключается в том, что потребитель метода должен проверять наличие значения null. Например, потребитель метода может поместить возвращаемое значение в foreach, и если возвращается пустой массив, проблем нет. Однако, если возвращается ноль, должна быть проверка на нуль перед повторением возвращаемого значения
Почему в примерах строка является заглавной и не заглавной?
Это не так.
1
@newStackExchangeInstance, просто скопировал код "как есть" из вопроса. Обе строки компилируются нормально, хотя я согласен, что лучше придерживаться одного стиля.
Андрей
15
Если вы используете .net 4.6, у них есть новый синтаксис, который вы можете использовать:
using System;// To pick up definition of the Array class.var myArray =Array.Empty<string>();
Нет необходимости редактировать этот ответ, поскольку ответы служат общей цели, а не конкретному вопросу, скажем так. Он отвечает «Что такое синтаксис для объявления и инициализации массива» и является ссылкой на ссылку, которую я разместил. OP может заменить intс , stringесли он любит.
CodeCaster
1
Ваш синтаксис неверен.
string[] arr =newstring[5];
Это создаст arrссылочный массив строк, в котором находятся все элементы этого массива null. (Поскольку строки являются ссылочными типами )
Этот массив содержит элементы из arr[0]в arr[4]. newОператор используется для создания массива и инициализации элементов массива в их значения по умолчанию. В этом примере все элементы массива инициализируются в null.
Ответы:
Попробуй это
источник
c# Array.Empty<string>()
Ваш синтаксис неправильный:
или
источник
Если вы используете .net 4.6, у них есть новый синтаксис, который вы можете использовать:
источник
Вы можете попробовать это
источник
Конструкторы массивов разные. Вот несколько способов сделать пустой массив строк:
(извините, на мобильном телефоне)
источник
Эти кудрявые вещи иногда трудно запомнить, поэтому есть отличная документация :
источник
int
с ,string
если он любит.Ваш синтаксис неверен.
Это создаст
arr
ссылочный массив строк, в котором находятся все элементы этого массиваnull
. (Поскольку строки являются ссылочными типами )Этот массив содержит элементы из
arr[0]
вarr[4]
.new
Оператор используется для создания массива и инициализации элементов массива в их значения по умолчанию. В этом примере все элементы массива инициализируются вnull
.Single-Dimensional Arrays (C# Programming Guide)
источник
Если вам нужно создать пустой массив, вы можете сделать это:
Если вы не знаете о размере, вы также можете использовать
List<string>
какисточник
Следующее должно работать нормально.
источник