列表中所有元素的索引最小值

本文关键字:索引 最小值 元素 列表 | 更新日期: 2023-09-27 17:55:31

让我再试一次。我有两个类:

class OrdenO
{
    public int id_orden_O { get; set; }
    public int Ei_O { get; set; }
    public int Ii_O { get; set; }
    public int Si_O { get; set; }
    public int DTi_O { get; set; }
    public int Ui_O { get; set; }
    public int K_O { get; set; }
    public int Q_O { get; set; }
    public List<int> TT;
}

和穆勒班

class Muelle
{
    public int id_muelle { get; set; }
    public int Lk { get; set; }
    public int Sk { get; set; }
}

在这里,我在两个列表集合中都有所有元素:

List<OrdenO> myClassArray = new List<OrdenO>()
{
    new OrdenO{id_orden_O=1, Ei_O= 60, Ii_O= 180, Si_O=0, DTi_O=0, Ui_O=0, K_O=0, Q_O=0, TT= new List<int>{ 36, 36}},
    new OrdenO{id_orden_O=2, Ei_O= 0, Ii_O= 120, Si_O=0, DTi_O=0, Ui_O=0, K_O=0, Q_O=0, TT= new List<int>{ 18, 8}},
};
List<Muelle> mydock = new List<Muelle>()
{
    new Muelle{id_muelle=1, Lk=0, Sk=0},
    new Muelle{id_muelle=2, Lk=0, Sk=0}
};

在我的列表中myclassarray我还有另一个列表TT,我想知道如何获取myclassarray每个元素的索引最小值 TT .

列表中所有元素的索引最小值

> 阿斯穆明 我理解正确 - 您想从myClassArray中的每个项目中提取每个TT列表的最低值,这应该可以做到:

foreach (var item in myClassArray)
{
    var min = item.TT.Min();
    // use min
}
foreach (var i in myClassArray)
{
  int index = i.TT.IndexOf(i.TT.Min());
}

也许:

IEnumerable<int> allminTTIndices = myClassArray
        .Select(o => o.TT.Select((tt, i) => new {TT=tt,Index=i})
                         .OrderBy(x => x.TT)
                         .First().Index);

它返回 myClassArray 中每个项目的最低 TT 值的所有索引。

然而,List<Muelle> mydock = new List<Muelle>()的目的仍不清楚。

我想你想要 TT 的最小值

var lowest = myClassArray.SelectMany(o => o.TT).OrderBy(i => i).FirstOrDefault();或

var lowest = myClassArray.SelectMany(o => o.TT).分钟();