我有这段代码:
public static object Grp(List<GetQuestionsDTO> questions)
{
var a = questions;
var initialRow = new GetQuestionsDTO() { QuestionNumber = 0 };
var c = a.Insert(0, initialRow);
}
我认为我正在做的一切正确,但我收到一个错误说:
错误CS0815无法将void分配给隐式类型变量
有人可以告诉他们是否能看出错误吗?
答案 0 :(得分:3)
a.Insert(0, initialRow)
是void
函数,因此您无法为其分配c
答案 1 :(得分:2)
List<T>.Insert
返回void(https://msdn.microsoft.com/en-us/library/sey5k5z4(v=vs.110).aspx),因此没有值分配,因此错误。
在您的情况下,实际上没有理由获得返回值,因为您已经在'initialRow'变量中添加了对象。
答案 2 :(得分:0)
List<T>.Insert()
方法将元素插入List 在指定的索引处。应插入项的从零开始的索引。哪个不会返回任何值,因此您无法像以前那样分配它。我认为这是你真正想要实现的目标;
public static object Grp(List<GetQuestionsDTO> questions)
{
questions.Insert(0, new GetQuestionsDTO() { QuestionNumber = 0 });
return questions;
}
如果您需要c
中的结果,可以这样做:
var a = questions;
var initialRow = new GetQuestionsDTO() { QuestionNumber = 0 };
a.Insert(0, initialRow);
var c =a;