2016-04-10 8 views

cevap

1

Koleksiyona, 'x' karakterine sahip nesneler tarafından filtre uygulamak için Where yöntemini kullanabilirsiniz.

var result = items.Where(item => item.character == X).OrderByDescending(item => item.ID).FirstOrDefault(); 
+0

Bu öyle, teşekkürler! – rcast

+0

Bir ID özelliği kullanmadan, ancak bunun yerine liste öğesinin dizinini kullanmadan aynı şeyi yapabilir miyim? OrderBy için – rcast

+0

@rcast mi demek istiyorsun? Peki, listeyi tersine çevirebilir ve ardından (Nerede kullanarak) filtreleyebilir veya filtreleyebilir ve sonucu tersine çevirebilirsiniz (Tersi yöntemini kullanarak). Bu, orijinal listenin sıralamasını korumalıdır. Başka bir yöntem, özgün nesneye ek olarak bir Dizin özelliği içeren yeni bir anonim tür oluşturmak için her öğenin dizinini geçiren aşırı yükleme ile Select yöntemini kullanmak ve daha sonra Kimlik yerine OrderByDescending yönteminde kullanmaktır. – m1o2

0

Filtrelemek için Where kullanmalısınız. Sonra sadece sipariş vermek ve ilk almak istediğiniz öğeyi bulacaktır.

var value = myList.Where(x => object.Equals(x.Character, "h")) 
        .OrderByDescending(x => x.ID) 
        .FirstOrDefault(); 
// check for null 
0

Yine başka bir yaklaşım: Düğümleri "X" karakteriyle filtreleyin. Filtrelenmiş düğümler arasında en yüksek kimliği bulun. Bu kimliğe sahip düğümü arayın.

kodu:

var highestId = nodes.Where(n => n.Character == "X").Max(n => n.ID); 
var highestNode = nodes.Single(n => n.ID == highestId); 
İlgili konular