加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

反向查询C#LINQ中的List

发布时间:2020-12-16 10:13:17 所属栏目:百科 来源:网络整理
导读:ListListdouble Return(Listdouble vector,int Z,int firstidx){ return vector.Reverse() .Skip(firstidx) .Take(Z) .Select(i = vector.Reverse().Select(j = j != 0? i / j : 0.0).ToList()) .ToList();} 我想反向查询List但是.Reverse()中有一些错误,它
List<List<double>> Return(List<double> vector,int Z,int firstidx)
{            
    return vector.Reverse()
                 .Skip(firstidx)
                 .Take(Z)
                 .Select(i => vector.Reverse().Select(j => j != 0? i / j : 0.0).ToList())
                 .ToList();
}

我想反向查询List但是.Reverse()中有一些错误,它说:

Operator ‘.’ cannot be applied oprand of type ‘void’`.

即使我创建了一个中间变量
列表与LT;双> Reversevector = vector.Reverse().ToList();

那么在linq中使用.Reverse()的正确方法是什么?

解决方法

问题是你使用的是 List.Reverse()方法而不是
Enumerable.Reverse()

你有两个选择,要么将其称为静态方法,要么将其称为显式转换.

Enumerable.Reverse(vector)
          .Skip(firstidx)
           .Take(Z)
           .Select(i => Enumerable.Reverse(vector).Select(j => j != 0? i / j : 0.0).ToList())
           .ToList();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读