2

如何:将 AddRange 用于列表

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

这是一个全局声明的变量-我的错误是什么?

误差等于

不允许从字符串转换为 void

4

4 回答 4

7

导致AddRange返回类型为 void,而不是 List<string>.

而且,作为错误状态,您不能将 (=) a 分配void给 aList<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

您需要分两步完成它:

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));

或者,如果您想一步完成:

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