Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么不';t工作于此:新列表<;字符串>;().AddRange(…);?_C#_List - Fatal编程技术网

C# 为什么不';t工作于此:新列表<;字符串>;().AddRange(…);?

C# 为什么不';t工作于此:新列表<;字符串>;().AddRange(…);?,c#,list,C#,List,我尝试使用以下方法: var firstSizeColumns = new List<string>().AddRange(_alwaysShowProperty); var firstSizeColumns=new List().AddRange(_alwaysShowProperty); 但有一个错误: var firstSizeColumns = new List<string>().AddRange(_alwaysShowProperty); 无法将void

我尝试使用以下方法:

var firstSizeColumns = new List<string>().AddRange(_alwaysShowProperty);
var firstSizeColumns=new List().AddRange(_alwaysShowProperty);
但有一个错误:

var firstSizeColumns = new List<string>().AddRange(_alwaysShowProperty);
无法将void分配给隐式类型的变量

var firstSizeColumns = new List<string>().AddRange(_alwaysShowProperty);
我知道它一定有两行。简单:

var firstSizeColumns = new List<string>().AddRange(_alwaysShowProperty);
var firstSizeColumns = new List<string>();
firstSizeColumns.AddRange(_alwaysShowProperty);
var firstSizeColumns=new List();
firstSizeColumns.AddRange(_alwaysShowProperty);

AddRange
是一种返回类型为
void
的方法。因此,不能将结果分配给变量

var firstSizeColumns = new List<string>().AddRange(_alwaysShowProperty);
改用
列表
的以下构造函数:

var firstSizeColumns = new List<string>().AddRange(_alwaysShowProperty);
var collection = new List<string>(_alwaysShowProperty);
var集合=新列表(\u alwaysShowProperty);

错误消息会准确地告诉您它不工作的原因。关于这个错误消息,你还不明白什么?好的。为什么intellisense建议选择此扩展方法和其他扩展方法?因为它是列表中的一个成员。当您询问对象有哪些成员时,Intellisense将向您显示该对象的所有成员。@YanLinkin:Intellisense不关心整行代码,它只关心您添加到其中的单词。如果键入
var myInt=DateTime.Now
即使您显然想要分配一个int,您仍然可以选择
ToString()
。如果Intellisense只向您显示它认为您想要做的事情,这将是一个非常糟糕的主意。Servy,好的,谢谢您的评论。不是我的DV,但可能是因为您正在回答一个问题,其中错误消息直接告诉OP问题是什么,而他们太懒了,无法阅读?请注意,您可以创建自己的
MyList
包装类,该类启用运算符链接(通过将每个
void
方法改为
返回此;
)。但这需要为所有列表使用自定义类,从长远来看,这可能不值得。@DavidG-我同意这一部分,但我回答的原因是OP认为它必须在错误后指定的两行中,但是另一个构造器可以解决这个问题。@GiladGreen如果你想分享一些你认为有人可能会感兴趣的相关信息,但这实际上并不是在回答问题,那么正确的做法是发表评论,而不是发表答案。@YanLinkin你实际上只是让我在谷歌上搜索“AddRange”现在给你?哇!我相信你自己能弄明白。。。