2

方法: リストに AddRange を使用する

List<string> list = 
    new List<string>().AddRange(File.ReadAllLines(path, Encoding.UTF8);

これはグローバルに宣言された変数です - 私の間違いは何ですか?

エラーは次のとおりです。

文字列から void への変換は許可されていません

4

4 に答える 4

7

原因AddRangeの戻り値の型は void であり、 ではありません List<string>

voidそして、エラー状態のように、(=) aを a に代入することはできませんList<string>

あなたはただすることができます

List<string> list = File.ReadAllLines(path, Encoding.UTF8).ToList();
于 2014-06-05T14:08:26.523 に答える
4

コードを次のように変更するだけです。

List<string> list = new List<string>(File.ReadAllLines(path, Encoding.UTF8));
于 2014-06-05T14:09:01.600 に答える
1

次の 2 つの手順で行う必要があります。

var list = new List<string>();
list.AddRange(File.ReadAllLines(path, Encoding.UTF8));

AddRangeリストを返さないため、「最初にインスタンスを取得する」か、HABJAN が提案するように直接初期化する必要があります。

于 2014-06-05T14:09:24.980 に答える
1

ステートメントを分割する必要があります。

List<string> list = new List<string>();
list.AddRange(File.ReadAllLines(path, Encoding.UTF8));

または、1 ステップで実行する場合は、次のようにします。

List<string> list = File.ReadAllLines(path, Encoding.UTF8).ToList();
于 2014-06-05T14:09:43.560 に答える