2009-03-06 2 views
0

Angenommen, ich habe ein Ergebnis für die Prüfung eines Studenten, das nach einem Punkt geordnet ist. Ich möchte den Orderindex eines Schülers in diesem Resultset bekommen. Wie kann ich das mit Linq loswerden?Wie bekomme ich den Index eines Datensatzes, der von etwas in Linq bestellt wurde?

Nehmen Sie die Klasse so an;

class ExamResult 
{ 
    int StudentId; 
    int Point; 
    int ExamId; 
} 

ExamId StudentId Point 
1  1  5,2 
1  2  5,4 
1  3  3 
1  4  7,2 
1  5  7,9 
1  6  1 
1  7  2,6 
1  8  6 
1  9  11 

Nachdem ich die Schüler nach Punkt bestellt. Student 2 muss den Index 5 haben.

+0

Es ist nach Punkt sortiert? Ich verstehe es nicht? – Qwertie

+0

Ja. Ich habe es übrigens gelöst. –

Antwort

2

Verwenden Sie LINQ to Objects? Wenn ja, gibt es eine Select overload, die Ihnen den Index sowie den Wert gibt. (Ditto for Where und wahrscheinlich auch andere.) Die Select Überladung macht es daher einfach, den ursprünglichen Wert in einen "ursprünglichen Wert + Index" als anonymen Typ umzuwandeln.

Ihre Frage war nicht ganz klar - wenn Sie das nicht wollten, könnten Sie vielleicht einen Beispielcode geben?

Verwandte Themen