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

C# 列表中所有元素的索引最小值,c#,collections,C#,Collections,让我再试一次。。 我有两门课: 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; } publ

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

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;
}
在这里,我有两个列表集合中的所有元素:

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}
};
List myClassArray=new List()
{
新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{36,36},
新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{18,8},
};
List mydock=新列表()
{
新Muelle{id_Muelle=1,Lk=0,Sk=0},
新米勒{id_米勒=2,Lk=0,Sk=0}
};

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

假设我理解正确-如果要从
myClassArray
中的每个项目中提取每个
TT
列表的最低值,应该这样做:

foreach (var item in myClassArray)
{
    var min = item.TT.Min();
    // use min
}
也许:

IEnumerable<int> allminTTIndices = myClassArray
        .Select(o => o.TT.Select((tt, i) => new {TT=tt,Index=i})
                         .OrderBy(x => x.TT)
                         .First().Index);
IEnumerable allminTTIndices=myClassArray
.Select(o=>o.TT.Select((TT,i)=>new{TT=TT,Index=i})
.OrderBy(x=>x.TT)
.First().Index);
它返回
myClassArray
中每个项目的最低
TT
值的所有索引


但是,
List mydock=new List()
的用途仍然不清楚。

我想您需要TT的最小值

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


var lowest=myClassArray.SelectMany(o=>o.TT).Min()

这不是C#编码惯例,为了更好地阅读,你应该改变。不清楚你想要什么。什么是“索引最小值”?
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);