Clear        


                
                    namespace _14_String.Demos
{
    public class TurkceHarfleriIngilizceyeDonusturme
    {
        public static void Calistir()
        {
            Console.Write("Türkçe cümle giriniz: ");
            string turkceCumle = Console.ReadLine();
            string ingilizceCumle;
            Console.WriteLine("Türkçe cümle: " + turkceCumle);

            ingilizceCumle = Donustur1(turkceCumle);
            Console.WriteLine("İngilizce cümle 1: " + ingilizceCumle);

            ingilizceCumle = Donustur2(turkceCumle);
            Console.WriteLine("İngilizce cümle 2: " + ingilizceCumle);
        }

        // 1. çözüm methodu:
        public static string Donustur1(string turkceCumle)
        {
            string sonuc = "";
            string[,] turkceIngilizceHarfler = new string[12, 2]
            {
                { "Ö", "O" },
                { "Ç", "C" },
                { "Ş", "S" },
                { "İ", "I" },
                { "Ğ", "G" },
                { "Ü", "U" },
                { "ö", "o" },
                { "ç", "c" },
                { "ş", "s" },
                { "ı", "i" },
                { "ğ", "g" },
                { "ü", "u" } 
            };
            bool turkceHarfBulundu;
            foreach (char turkceCumleHarfi in turkceCumle)
            {
                turkceHarfBulundu = false;
                for (int satir = 0; satir <= turkceIngilizceHarfler.GetUpperBound(0); satir++)
                {
                    if (turkceIngilizceHarfler[satir, 0] == turkceCumleHarfi.ToString())
                    {
                        turkceHarfBulundu = true;
                    }
                    if (turkceHarfBulundu)
                    {
                        sonuc += turkceIngilizceHarfler[satir, 1];
                        break;
                    }
                }
                if (!turkceHarfBulundu)
                {
                    sonuc += turkceCumleHarfi;
                }
            }
            return sonuc;
        }

        // 2. daha güzel çözüm methodu:
        public static string Donustur2(string turkceCumle)
        {
            // String class'ının Replace methodu üzerinden bulunan Türkçe karakterler kolaylıkla
            // İngilizce karakter karşılıklarıyla değiştirilebilir.
            return turkceCumle.Replace('Ö', 'O')
                .Replace('Ç', 'C')
                .Replace('Ş', 'S')
                .Replace('İ', 'I')
                .Replace('Ğ', 'G')
                .Replace('Ü', 'U')
                .Replace('ö', 'o')
                .Replace('ç', 'c')
                .Replace('ş', 's')
                .Replace('ı', 'i')
                .Replace('ğ', 'g')
                .Replace('ü', 'u');
        }
    }
}