asenkron bilmiyorum
C#:
Thread th = new Thread(() =>
                        {
                            string output = Commander($"fastboot -s {selectedDevice} reboot recovery");
                        });

                        th.IsBackground = true;
                        th.Start();

                        if (selectedDevice == "Device Not Found")
                            MessageBox.Show("CONNECT OR SELECT A DEVICE!");
                        else
                            MessageBox.Show($"{selectedDevice} Rebooting recovery using fastboot.");

bakın şimdi Commander komutu çalıştırmaya yarayan benim yazdığım bi fonksiyon thread'i kaldırıp sadece "Commander($"fastboot -s {selectedDevice} reboot recovery");" bunu kullansam dahamı performanslı olur?
Hayır, daha performanslı olmaz. Aksine tamamen senkron çalışıp ana thread'i bloke eder ve ADB işlemi esnasında program takılır. Thread'ler ile bu sorunu çözmüşsünüz ama bu bir kötü pratiktir ve ileride uygulamanız bir noktaya geldiğinde size problem yaratabilir. "Asenkron Programlama" "IO Bound işlemler" gibi konulara göz atmanızı öneririm. Bu sayede programlama becerilerinizi geliştirebilirsiniz.
 
Portable olmamasi kotu. Uninstall edip baska klasorden calistirmayi denedim. ADB hala program klasorunun icinde olmasina karsin Program Files icerisinde ariyor. Programin kurulmasi gerektigine dair uyari mesaji geliyor ama burada programi kapatma secenegi yok. Gorev Yoneticisi'nden sonlandirmak gerekiyor.
 
Portable olmamasi kotu. Uninstall edip baska klasorden calistirmayi denedim. ADB hala program klasorunun icinde olmasina karsin Program Files icerisinde ariyor. Programin kurulmasi gerektigine dair uyari mesaji geliyor ama burada programi kapatma secenegi yok. Gorev Yoneticisi'nden sonlandirmak gerekiyor.
Portable ve başka kolasörden çalıştırma olamaz çünkü setup şekline dizayn ettim yani "adbpath = $@"C:\Program Files\ADBFastbootGUI"" değişkeni portable olayını iptal ediyor tabi 15-20dk ayrırırsam portable versiyonu yapılır V2de yapalım istek listesine yazdım. Alt F4 olarak akıl etmiştim yazılım kapatma olayını. Onuda değiştririz teşekkürler.
 
Böyle düşünmemiştim. Denerim olmazsa kodu elden geçireyim ne olacak 😁😁. Teşekkürler.
Bu tur global degisken tanimlari yapmanin amaci zaten degisiklik yaparken tum kodu degil tek satiri degistirmek. Eger bunu degistirmek yerine tum koda bakmaniz gerekecekse bu verimli yontem olmaz program yazarken. Cok vakit kaybedersiniz baska proje uzerinde. Ustelik hata yapma ihtimaliniz cok artar. Onun yerine global degisken tanimlama mantigini oturtmaniz daha onemli.
 
Bu tur global degisken tanimlari yapmanin amaci zaten degisiklik yaparken tum kodu degil tek satiri degistirmek. Eger bunu degistirmek yerine tum koda bakmaniz gerekecekse bu verimli yontem olmaz program yazarken. Cok vakit kaybedersiniz baska proje uzerinde. Ustelik hata yapma ihtimaliniz cok artar. Onun yerine global degisken tanimlama mantigini oturtmaniz daha onemli.
Bende bilmiyordum dediğiniz yöntemi. Teşekkür ederim bişey öğrenmiş oldum.