C#声明空字符串数组

时间:2013-05-30 10:52:01

标签: c# arrays string

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

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

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

怎么了?

9 个答案:

答案 0 :(得分:207)

试试这个

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

答案 1 :(得分:60)

您的语法错误:

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

string[] arr = new string[0];

答案 2 :(得分:10)

如果您使用的是.net 4.6,则可以使用一些新的语法:

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

var myArray = Array.Empty<string>();

答案 3 :(得分:8)

你可以试试这个

string[] arr = {};

答案 4 :(得分:8)

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

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

(抱歉,在手机上)

答案 5 :(得分:1)

您的语法无效。

string[] arr = new string[5];

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

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

Single-Dimensional Arrays (C# Programming Guide)

答案 6 :(得分:1)

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

// Declare a single-dimensional array  
int[] array1 = new int[5];

答案 7 :(得分:0)

如果必须创建一个空数组,则可以执行以下操作:

string[] arr = new string[0];

如果您不了解尺寸,那么您也可以使用List<string>以及

var valStrings = new List<string>();

// do stuff...

string[] arrStrings = valStrings.ToArray();

答案 8 :(得分:-1)

以下内容应该可以正常使用。

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