Turkcell | Geleceği Yazanlar

C# stringi alfabetik olarak sıralama nasıl yapılır?

Örnek olarak: Verilen string:A1B2C3D4E5   İstenilen string:ABCDE54321

Verilen stringi istenilende ki gibi alfabetik olarak c# da nasıl sıralayabilirim.

    +1

    Gürkan

    22 Mayıs 2019

    Örnek kod:

     

    //Bu kod normalde işini görür:
                string veri = "A1B2C3D4E5";
                List<char> dizi = veri.OrderBy(x => x).ToList(); 
                Console.WriteLine(new string(dizi.ToArray()));
                //Çıktı: 12345ABCDE
    
                //Ama sayıları büyükten küçüğe ve harflerden sonra istediğin için bu kod daha uygun olur:
                int kontrol = 0;
                List<char> tumList = new List<char>();
                List<char> harfList = veri.
                    Where(x => !int.TryParse(x.ToString(), out kontrol)).
                    OrderBy(x => x).ToList();
    
                List<char> sayiList = veri.
                    Where(x => int.TryParse(x.ToString(), out kontrol)).
                    OrderBy(x => x).ToList();
    
                sayiList.Reverse();
    
                tumList.AddRange(harfList);
                tumList.AddRange(sayiList);
    
                Console.WriteLine(new string(tumList.ToArray()));
                //Çıktı: ABCDE54321
                Console.ReadKey();

     

    Bu soruya cevap vermek için üye olmanız veya giriş yapmanız gerekmektedir.