Czy potrzebowaliście kiedyś w LINQ dodać porządkowanie elementów takie jak w SQL?
Oto jak można to zrobić:
int orderNumber = 1; var list = (from item in items orderby item.Value // tu może być oczywiście inny warunek select new RandomItem() { Value = item.Value, OrderNumber = orderNumber++ }).ToList();
Oczywiście jeżeli ktoś preferuje można to zapytanie zamienić na lambdy
int orderNumber = 1; var list = items.OrderBy(item => item.Value) // tu może być oczywiście inny warunek .Select(item => new RandomItem() {Value = item.Value, OrderNumber = orderNumber++}) .ToList()
Można trochę łatwiej:)
var list = items.OrderBy(item => item.Value) .Select((item, index) => new RandomItem {Value = item.Value, OrderNumber = index + 1}).ToList()
http://msdn.microsoft.com/en-us/library/bb534869.aspx
Hmm ale w PLINQ chyba to nie do końca zadziała poprawnie.