在C#LINQ中反向查询列表 列表返回(列表向量,int Z,int firstidx) { 返回vector.Reverse() .Skip(firstidx) .Take(Z) .Select(i=>vector.Reverse().Select(j=>j!=0?i/j:0.0).ToList()) .ToList(); }
我想反向查询在C#LINQ中反向查询列表 列表返回(列表向量,int Z,int firstidx) { 返回vector.Reverse() .Skip(firstidx) .Take(Z) .Select(i=>vector.Reverse().Select(j=>j!=0?i/j:0.0).ToList()) .ToList(); },c#,linq,C#,Linq,我想反向查询列表,但是.Reverse()中有一些错误,它说: 运算符“.”不能应用于类型为“void”的oprand 甚至我创建了一个中间变量 List Reversevector=vector.Reverse().ToList() 那么在linq中使用.Reverse()的正确方法是什么呢?如下所示: 问题是您使用的是方法,而不是 您有两个选项,可以将其称为静态方法或显式转换 vector.Reverse(); return vector.Skip(firstidx)
列表
,但是.Reverse()
中有一些错误,它说:
运算符“.”不能应用于类型为“void”的oprand
甚至我创建了一个中间变量
List Reversevector=vector.Reverse().ToList()代码>
那么在linq
中使用.Reverse()
的正确方法是什么呢?如下所示:
问题是您使用的是方法,而不是
您有两个选项,可以将其称为静态方法或显式转换
vector.Reverse();
return vector.Skip(firstidx)
.Take(Z)
.Select(i => vector.Select(j => j != 0? i / j : 0.0).ToList())
.ToList();
将列表复制到局部变量,或创建类似于下面的扩展方法并修改代码
Enumerable.Reverse(vector)
.Skip(firstidx)
.Take(Z)
.Select(i => Enumerable.Reverse(vector).Select(j => j != 0? i / j : 0.0).ToList())
.ToList();
公共静态IEnumerable反向(此IEnumerable源代码)
{
var reversedList=source.ToList();
reverseedlist.Reverse();
返回反向列表;
}
请更正。选择(i=>vector.Reverse()。选择(j=>j!=0?i/j:0.0)。ToList())
。正如你所说,它不会返回列表
@AdilMammadov哦,没有看到他用了两次。
Enumerable.Reverse(vector)
.Skip(firstidx)
.Take(Z)
.Select(i => Enumerable.Reverse(vector).Select(j => j != 0? i / j : 0.0).ToList())
.ToList();
public static IEnumerable<T> Reverse<T>(this IEnumerable<T> source)
{
var reversedList = source.ToList();
reversedList.Reverse();
return reversedList;
}