无法将类型 void 隐式转换为 System.Collections.GenericList
Cannot implicitly convert type void to System.Collections.GenericList
我在使用列表时遇到问题。
在我的 for 循环中,我试图在某个索引的列表中添加一个元素。
我收到的列表 FinalKnotsVector
的错误是:
"Cannot implicitly conver type 'void' to System.Collections.Generic.List"
有人可以帮助我吗?
{
[MultiReturn(new[] { "l", "n","FinalKnotsVector"})]
public static Dictionary<string, object> InLength(List<double> Initialknots, int p, List<double> KnotInserted)
{
int l; //OUTPUT: Length of the initial knot vector
l = Initialknots.Count;
int n; //OUTPUT: Number of initial control points
n = l - 1 - p;
List<double> FinalKnotsVector = new List<double>();
for (int i = 1; i < KnotInserted.Count; i++)
{
FinalKnotsVector=Initialknots.Insert(i, KnotInserted[i]);
}
var d = new Dictionary<string, object>();
d.Add("l", l);
d.Add("n", n);
d.Add("FinalKnotsVector", FinalKnotsVector);
return d;
}
}
}
你应该这样做:
List<double> FinalKnotsVector = new List<double>(Initialknots);
foreach (var value in KnotInserted)
{
FinalKnotsVector.Insert(FinalKnotsVector.IndexOf(value), value);
}
这是简单明了的方法。看看这是否符合您的要求。
请注意,我没有更改 Initialknots
(在您的代码中,但是您正试图向其中插入一个项目)。如果您还需要更改它,那么首先更改 Initialknots
,然后您可以创建 FinalKnotsVector
并将 Initialknots
传递给构造函数,如下所示:
foreach (var value in KnotInserted)
{
Initialknots.Insert(Initialknots.IndexOf(value), value);
}
List<double> FinalKnotsVector = new List<double>(Initialknots);
我在使用列表时遇到问题。 在我的 for 循环中,我试图在某个索引的列表中添加一个元素。
我收到的列表 FinalKnotsVector
的错误是:
"Cannot implicitly conver type 'void' to System.Collections.Generic.List"
有人可以帮助我吗?
{
[MultiReturn(new[] { "l", "n","FinalKnotsVector"})]
public static Dictionary<string, object> InLength(List<double> Initialknots, int p, List<double> KnotInserted)
{
int l; //OUTPUT: Length of the initial knot vector
l = Initialknots.Count;
int n; //OUTPUT: Number of initial control points
n = l - 1 - p;
List<double> FinalKnotsVector = new List<double>();
for (int i = 1; i < KnotInserted.Count; i++)
{
FinalKnotsVector=Initialknots.Insert(i, KnotInserted[i]);
}
var d = new Dictionary<string, object>();
d.Add("l", l);
d.Add("n", n);
d.Add("FinalKnotsVector", FinalKnotsVector);
return d;
}
}
}
你应该这样做:
List<double> FinalKnotsVector = new List<double>(Initialknots);
foreach (var value in KnotInserted)
{
FinalKnotsVector.Insert(FinalKnotsVector.IndexOf(value), value);
}
这是简单明了的方法。看看这是否符合您的要求。
请注意,我没有更改 Initialknots
(在您的代码中,但是您正试图向其中插入一个项目)。如果您还需要更改它,那么首先更改 Initialknots
,然后您可以创建 FinalKnotsVector
并将 Initialknots
传递给构造函数,如下所示:
foreach (var value in KnotInserted)
{
Initialknots.Insert(Initialknots.IndexOf(value), value);
}
List<double> FinalKnotsVector = new List<double>(Initialknots);