kriteriji是List<Kriteriji>
var doc = kriteriji.Where(k => k.Ean == txtEan.Text
&& k.PredmetObravnave == acPredmetObravnave.Text
&& k.Tse == txtTse.Text
&& k.DejanskaKolicina == Convert.ToInt32(txtKolicina.Text)
&& k.KratekNazEnoteMere == acKNEnotaMere.Text
&& k.OznakaLokacije == acOznakaLokacije.Text
&& k.OznakaZapore == txtZapora.Text
&& k.SarzaDob == txtSarzaDobavitelja.Text
&& k.Sarza == txtSarza.Text
&& k.DatumVelOd == datumOd
&& k.DatumVelDo == datumDo).FirstOrDefault();
现在当我得到doc
时,我怎么知道List<kriteriji>
中的哪个位置?我现在需要在第一,第二,......
答案 0 :(得分:3)
您可以使用重载来获取索引和Kriteriji。
然后,您可以选择具有Index属性和Doc属性的匿名对象。如果您使用IndexOf,这将导致您已经拥有该数据时在整个列表中进行另一次搜索。
答案 1 :(得分:3)
我认为您可以先创建一个(索引,值)keyvaluepaire对象,然后像
一样对其进行检索 var doc = kriteriji.Select((value, index) => new { index, value })
.Where(k => k.value.Ean == txtEan.Text
&& k.value.PredmetObravnave == acPredmetObravnave.Text
&& k.value.Tse == txtTse.Text
&& k.value.DejanskaKolicina == Convert.ToInt32(txtKolicina.Text)
&& k.value.KratekNazEnoteMere == acKNEnotaMere.Text
&& k.value.OznakaLokacije == acOznakaLokacije.Text
&& k.value.OznakaZapore == txtZapora.Text
&& k.value.SarzaDob == txtSarzaDobavitelja.Text
&& k.value.Sarza == txtSarza.Text
&& k.value.DatumVelOd == datumOd
&& k.value.DatumVelDo == datumDo).FirstOrDefault();
那么你可以得到像
这样的索引Console.WriteLine(doc.index);
答案 2 :(得分:1)
使用IndexOf
方法:
kriteriji.IndexOf(doc);
答案 3 :(得分:1)
试试这个:
var position = kriteriji.IndexOf(doc);
答案 4 :(得分:0)
您可以通过以下方式找到索引:
kriteriji.IndexOf(doc.First());