如何获得嵌套列表中元素的索引

本文关键字:元素 索引 列表 何获得 嵌套 | 更新日期: 2023-09-27 18:18:44

我有一个类,它看起来像这样:

public class Payment
{
    public List<string> Base { get; set; }
    public List<string> Interest { get; set; }
}

然后,稍后在我的代码中,我想为Repeater提供List<string> Base的值,所以我尝试使用LINQ创建一个匿名对象数组,我需要在这个匿名对象中有一个属性Id,其中Id = IndexOf(x.Base)。所以我试着这样做:

RpBase.DataSource = PymentsList.Select(x => new { Base = x.Base, Id = PymentsList.IndexOf(x.Base) });

但是它不起作用。写这篇文章开始有意义,我需要从<Base>列表中选择,每个x,但我不知道如何写它LINQ,在我看来,这应该是可行的。

如何获得嵌套列表中元素的索引

这是你想要的吗?

RpBase.DataSource = PymentsList.SelectMany(x=>x.Base)
                               .Select((x,i)=>new { Base = x, Id =i}) 

你可能想要这样的东西?

RpBase.DataSource = PymentsList.Base.Select((x,i) => new { Base = x, Id = i });

如果PymentsListPayment的列表,则使用.SelectMany(x => x.Base)代替.Base

编辑: @Tim。唐已经更快地回答好了^^