我需要声明一个空字符串数组,我正在使用这段代码。
string[] arr = new String[0]();
但我得到“方法名称预期”错误。
怎么了?
您的语法错误:
string[] arr = new string[]{};
或
string[] arr = new string[0];
如果你必须创建一个空数组,你可以这样做:
如果你不知道大小,那么你也可以使用List<string>,就像
List<string>
var valStrings = new List<string>(); // do stuff... string[] arrStrings = valStrings.ToArray();
您的语法无效。
string[] arr = new string[5];
这将创建arr,一个被引用的字符串数组,其中该数组的所有元素都null。(因为字符串是ABC_2的_)
arr
null
此数组包含从arr[0]到arr[4]的元素。new运算符用于创建数组并将数组元素初始化为其默认值。在本例中,所有数组元素都被初始化为null。
arr[0]
arr[4]
new
Single-Dimensional Arrays (C# Programming Guide)
这些卷曲的东西有时很难记住,这就是为什么有优秀的文件:
// Declare a single-dimensional array int[] array1 = new int[5];
你可以试试这个。
string[] arr = {};
数组的构造函数是不同的。下面是一些创建空字符串数组的方法:
var arr = new string[0]; var arr = new string[]{}; var arr = Enumerable.Empty<string>().ToArray()
(抱歉,在手机上)
试试这个
string[] arr = new string[] {};
如果您使用的是.NET Framework 4.6和更高版本,则可以使用它们的一些新语法:
using System; // To pick up definition of the Array class. var myArray = Array.Empty<string>();
以下操作应该可以正常工作。
string[] arr = new string[] {""};