web-dev-qa-db-ja.com

C#が空の文字列配列を宣言する

空の文字列配列を宣言する必要があり、このコードを使用しています

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

しかし、 "method name expected"というエラーが出ます。

どうしましたか?

123
aquanat

これを試して

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

あなたの文法は間違っています:

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

または

string[] arr = new string[0];
61
Andrei

もしあなたが.net 4.6を使っているなら、それらはあなたが使うことができるいくつかの新しい構文を持っています:

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

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

あなたはこれを試すことができます

string[] arr = {};
8
Bharadwaj

配列のコンストラクタは異なります。空の文字列配列を作成する方法はいくつかあります。

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

(申し訳ありませんが、モバイルで)

8
It'sNotALie.

これらの中傷的なことは時々覚えにくいです、それが優れた ドキュメンテーションがある理由です

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

次はうまくいくはずです。

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

あなたの文法は無効です。

string[] arr = new string[5];

これは文字列の参照配列であるarrを作成します。この配列のすべての要素はnullです。 (文字列は参照型であるため)

この配列はarr[0]からarr[4]までの要素を含みます。 new演算子は、配列を作成し、配列要素をそれらのデフォルト値に初期化するために使用されます。この例では、すべての配列要素がnullに初期化されています。

Single-Dimensional Arrays (C# Programming Guide)

1
Soner Gönül

空の配列を作成しなければならない場合は、次のようにします。

string[] arr = new string[0];

サイズがわからない場合は、List<string>も使用できます。

var valStrings = new List<string>();

// do stuff...

string[] arrStrings = valStrings.ToArray();
0
Rahul