我需要声明一个空的字符串数组,我正在使用这段代码
string[] arr = new String[0]();
但是我遇到了“需要方法名”的错误。
出了什么问题?
我需要声明一个空的字符串数组,我正在使用这段代码
string[] arr = new String[0]();
但是我遇到了“需要方法名”的错误。
出了什么问题?
试一试
string[] arr = new string[] {};
string[] arr = new String[0] as string[];
- aquanatc# Array.Empty<string>()
。 - Jannick Breunis你的语法有误:
string[] arr = new string[]{};
或者
string[] arr = new string[0];
如果您使用的是.NET Framework 4.6及以上版本,那么它们有一些新语法可供使用:
using System; // To pick up definition of the Array class.
var myArray = Array.Empty<string>();
string[] arr = {};
null
。 - xr280xr数组的构造函数是不同的。这里有几种方法可以创建一个空字符串数组:
var arr = new string[0];
var arr = new string[]{};
var arr = Enumerable.Empty<string>().ToArray()
string[] arr = new string[5];
arr
,其中该数组的所有元素都是null
。(因为字符串是引用类型)。arr [0]
到arr [4]
的元素。使用new
运算符创建数组并将数组元素初始化为默认值。在此示例中,所有数组元素都初始化为null
。
单维数组 (C# 编程指南)
string[] arr = new String[0] as string[];
- aquanat如果你必须创建一个空数组,你可以这样做:
string[] arr = new string[0];
如果您不知道大小,那么您也可以使用List<string>
,就像这样
var valStrings = new List<string>();
// do stuff...
string[] arrStrings = valStrings.ToArray();
那些花括号有时很难记住,这就是为什么有优秀的文档:
// Declare a single-dimensional array
int[] array1 = new int[5];
// zero-element array
var arr0 = System.Array.Empty<string>(); // Recommended: https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/ca1825
var arr1 = new string[0];
// 5-Elements array with null values
var arr2 = new string[5];
// 5-Elements array with empty string values
var arr3 = System.Linq.Enumerable.Repeat(string.Empty, 5).ToArray();
var arr4 = System.Linq.Enumerable.Range(0, 5).Select(_ => string.Empty).ToArray();