Turkcell | Geleceği Yazanlar

Soru & Cevap

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

21.05.2019 - 18:17

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

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

1068 Görüntülenme

1 Cevap

Gürkan
22.05.2019 - 16:36

Ö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();

 

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.