Şu INPLACE listeye LINQ OrderBy dönüştürme i sonra sonuçlar üzerinde ToList()
yapıyor, nesnelere LINQ kullanarak bir liste ayırıyorum:sıralama
var SortedPossibleMoveLocations = (from PML in PossibleMoveLocations
orderby Randomiser.Next()
orderby IsSameType(PML) ? (_Owner[PML] as TileFlowing).UnitsWithin : 0
orderby PossibleMoveLocationOrdering(PML)
select PML).ToList();
Bu INPLACE sıralama bir yapmak dönüştürmek istediğiniz i List<T>.Sort()
yöntemini kullanarak tahmin edin. Eğer sadece bir şey tarafından sipariş veriyor olsaydım, bunun nasıl yapılacağını bilirdim, ancak PossibleMoveLocationOrdering
(bir int
döndürür) sonra, sonra Randomiser.Next()
(o zaman rastgele bir int döndüren) değerlendiren IsSameType(PML) ? (_Owner[PML] as TileFlowing).UnitsWithin : 0
) Bunu nasıl yapacağımı bilmiyorum.
Soru: Yukarıdaki LINQ sorgusunun bir sıralama türünü yapmak için karşılaştırma işlevini (veya daha iyi bir yöntem var mı) yazarım. En yaygın
Çoklu komut dizisinin hemen hemen her zaman * yanlış olduğunu unutmayın - bu 'ThenBy'yi eklemez, bu nedenle aslında sıralama önceliğini tersine çevirir. Birden fazla ifade –
ile tek bir sipariş olmalıdır Ben anlıyorum sipariş x, y, z tersi sipariş alacağım. (Bunu daha önce yazmış olsam da, tek sıralı söz dizimi hakkında bilgi sahibi oldum). İşte bu yüzden, kodun altındaki metinde, neyin presidence olduğunu açıklıyorum. Yine de bilgi için teşekkürler. –