0

让我再试一次。我有两门课:

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,我想知道如何获取 的TT每个元素的索引最小值myclassarray

4

4 回答 4

0

TT假设我对您的理解正确-您想从 中的每个项目中提取每个列表的最小值myClassArray,应该这样做:

foreach (var item in myClassArray)
{
    var min = item.TT.Min();
    // use min
}
于 2013-01-22T15:55:02.977 回答
0
foreach (var i in myClassArray)
{
  int index = i.TT.IndexOf(i.TT.Min());
}
于 2013-01-22T15:57:25.143 回答
0

也许:

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

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

但是,其目的List<Muelle> mydock = new List<Muelle>()仍不清楚。

于 2013-01-22T15:57:49.767 回答
0

我想你想要 TT 的最小值

var 最低 = myClassArray.SelectMany(o => o.TT).OrderBy(i => i).FirstOrDefault(); 或者

var 最低 = myClassArray.SelectMany(o => o.TT).Min();

于 2013-01-22T16:02:40.520 回答