183

我需要声明一个空字符串数组,我正在使用这段代码

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

但我收到“预期方法名称”错误。

怎么了?

4

9 回答 9

309

尝试这个

string[] arr = new string[] {};
于 2013-05-30T10:59:15.213 回答
74

您的语法错误:

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

或者

string[] arr = new string[0];
于 2013-05-30T10:52:44.097 回答
28

如果您使用的是 .NET Framework 4.6 及更高版本,它们有一些您可以使用的新语法:

using System;  // To pick up definition of the Array class.

var myArray = Array.Empty<string>();
于 2016-11-01T19:48:04.757 回答
9

你可以试试这个

string[] arr = {};
于 2013-05-30T10:55:11.890 回答
8

数组的构造函数是不同的。以下是一些创建空字符串数组的方法:

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

(对不起,在手机上)

于 2013-05-30T10:56:04.793 回答
2

您的语法无效。

string[] arr = new string[5];

这将创建arr一个引用的字符串数组,其中该数组的所有元素都是null。(因为字符串是引用类型

该数组包含从arr[0]到的元素arr[4]new运算符用于创建数组并将数组元素初始化为其默认值。在此示例中,所有数组元素都初始化为null.

Single-Dimensional Arrays (C# Programming Guide)

于 2013-05-30T10:53:51.633 回答
1

那些卷曲的东西有时很难记住,这就是为什么有优秀的文档

// Declare a single-dimensional array  
int[] array1 = new int[5];
于 2013-05-30T10:54:36.337 回答
0

如果你必须创建一个空数组,你可以这样做:

string[] arr = new string[0];

如果您不知道尺寸,那么您也可以List<string>使用

var valStrings = new List<string>();

// do stuff...

string[] arrStrings = valStrings.ToArray();
于 2013-05-30T10:53:26.210 回答
-4

以下应该可以正常工作。

string[] arr = new string[] {""};
于 2018-03-26T11:51:39.590 回答