Dizelerim var ve bu dizeler sayı ve sözcük içeriyor. Yapmak istediğim neLinq - Rakamlarla ve sayılarla sipariş ver
burada ... kelimelerin ardından sayılarla kararıyla şart (sayısal emir) (alfabetik sıraya göre)
Listem ikisinin bir karışımını içermez olan bir örnek
olduğunu > 1, 5, 400, 500, LT, RT İştesahip olduğumun bir örnektir, bu ancak işler -
1, 5, 500, LT, RT, 400 -> LINQ Yazmanın daha iyi bir yolu olup olmadığını merak ediyordum?
int results = 0; // Grabs all voltages var voltage = ActiveRecordLinq.AsQueryable<Equipment>() .OrderBy(x => x.Voltage) .Select(x => x.Voltage) .Distinct() .ToList(); // Order by numeric var numberVoltage = voltage .Where(x => int.TryParse(x, out results)) .OrderBy(x => Convert.ToInt32(x)); // Then by alpha var letterVoltage = voltage .Where(x=> !String.IsNullOrEmpty(x)) .Where(x => !int.TryParse(x, out results)) .OrderBy(x => x); return numberVoltage.Union(letterVoltage)
Yardımın için teşekkürler!
Neden ayrıştırma yaparsınız, voltaj bir int olarak tanımlanmamış mı? – Jimmy
@Jimmy - Nope, voltaj int olarak tanımlanmamıştır çünkü bu, bazı durumlarda "LT" kelimesini içerir. Veritabanında dize olarak tanımlanmış – ChickSentMeHighE