C# Mantıksal ve Karşılaştırma Operatörleri yazımız ile C Sharp eğitimlerine devam ediyoruz. Yoğunluktan dolayı yaklaşık bir haftadır yazı paylaşamıyordum. Programlama dillerinde tek başlarına herhangi bir anlamı olmayan ancak programın işleyişine katkıda bulunan karakter ya da karakter topluluklarına operatör denir. Operatörlerin etki ettikleri sabit ya da değişkenlere “operand” denir. Şimdi C Sharp mantıksal ve karsilastirma operatorleri yazımıza geçelim.
Mantıksal operatörler için genelde bool türünü kullanırız. Bunlar true yada false ‘dir. Daha doğrusu mantıksal işlemlerde alacağımız cevaplar true yada false olacaktır.
C Sharp Karşılaştırma operatörleri
- > – BÜYÜKTÜR, Sağındaki değer, solundaki değerden büyükse TRUE döner.
- < – KÜÇÜKTÜR, Sağındaki değer, solundaki değerden küçükse TRUE döner.
- >= – BÜYÜK EŞİT, Sağındaki değer, solundaki değere eşitse yada büyükse TRUE döner.
- <= – KÜÇÜK EŞİT, Sağındaki değer, solundaki değere eşitse yada küçükse TRUE döner.
- != – EŞİT DEĞİL, Sağındaki değer, solundaki değere eşit değilse TRUE döner.
C Sharp Mantıksal Operatörler
- && – VE, sağındaki ve solundaki ifadelerin ikisi de doğru ise TRUE döner. İfadelerden biri yanlış ise FALSE döner.
- || – YADA, sağındaki ve solundaki ifadelerin en az birisi doğru ise TRUE döner. İfadelerden ikisi de yanlış ise FALSE döner.
- ^ – TERS, Sağındaki ve solundaki ifadelerin birisi doğru, diğeri yanlış ise TRUE döner. İki ifade de aynı ise FALSE döner.
- ! – DEĞİL, Sonucu TRUE olan karşılaştırmayı FALSE yapar, FALSE ise TRUE yapar.
NOT: Aynı mantıksal ifade de hem && hemde || kullanıyorsanız işlem önceliği && ifadesinde olacaktır.
C Sharp mantıksal ve karşılaştırma opetarörleri örneklerini görelim.
İf Else bloğu üzerinde kullanım
int _int0 = 0, _int1 = 1; string _string0 = "0", _string1 = "mustafabukulmez"; if (_int0 > 0) //TRUE { // _int0 değeri 0 dan büyükse buradaki kodlar çalışır. } else //FALSE { // _int0 değeri 0 dan büyük değilse buradaki kodlar çalışır. FALSE ise } if (_int1 >= 1) { // _int1 değeri 1 den büyükse yada 1 e eşit ise buradaki kodlar çalışır. TRUE ise // _int1 değeri 1 den büyük değil ama 1 e eşit olduğundan buradaki kodlar çalışır. } else { // _int1 değeri 1 den büyük yada 1 e eşit değilse buradaki kodlar çalışır. FASLE ise } if (_int0 >= 0 && _int1 <= 1) { // int0, sıfırdan büyük yada sıfıra eşit ise -VE- int1, birden küçük yada bir eşitse. TRUE ise // tüm şartlar doğru ise buradaki kodlar çalışır. } else { // şartardan birisi bile doğru değilse buradaki kodlar çalışır. FALSE ise } if (_int0 >= 0 || _int1 < 1) { // int0, sıfırdan büyük yada sıfıra eşit ise -YA DA- int1, birden küçükse. TRUE ise // şartlardan en az birisi doğru ise buradaki kodlar çalışır. } else { // şartardan ikisi de yanlış değilse buradaki kodlar çalışır. FALSE ise } if (_int0 >= 0 ^ _int1 != 1) { // _int0, sıfırdan büyük yada sıfıra eşit ise.. Sonuc True // _int1, bire eşit değil ise.. Sonuc False // Karşılaştırmaların birisi true birisi de false olduğundan sonuc TRUE olacaktır. // Sonuc true olduğu için buradaki kodalr çalışır. } else { //ikisi de doğru yada ikiside yanlış ise buradaki kodlar çalışır. }
Yukarıdaki gördüğünüz örnekler direk if else bloğu ile kullanımı göstermektedir. Bool değişken türünü kullanarak da mantıksal operatörleri kullanabiliriz.
Bool türü değişken üzerinde kullanım
bool _bool = false; _bool = _int0 > _int1; //_bool = DateTime.Now > DateTime.Now.AddDays(1); _bool = "asdasd" == "sdasd"; //NOT: Eşitlik karşılaştırmalarında if içerisinde nasıl kullanıyorsanız öyle kullanırsınız. //Yani tek " = " ile eşitlik kontrolü yapamazsınız. //Ayrıca string ifadelerde büyük, küçük, büyük eşit ve küçük eşit karşılaştırmalarını kullanamazsınız. if (_bool) //hiçbir operatör yazılmaz ise True kontrolü yapılır. True ise if, false ise else bloğu çalışır. { // _bool değişkeni üzerinde yaptığımız karşılaştırma sonucu true ise } else { // _bool değişkeni üzerinde yaptığımız karşılaştırma sonucu false ise } _bool = !(_int0 > _int1); _bool = !("asdas" == "asdasdas"); _bool = !(DateTime.Now == DateTime.Now.AddHours(1)); //NOT: ! DEĞİL opetarörünü sadece yukarıdaki gibi kullanabilirsiniz. // İf Else bloğu içerisinde kullanılamamaktadır. if (_bool) { // _bool değişkeni üzerinde yaptığımız karşılaştırma sonucu true ise } else { // _bool değişkeni üzerinde yaptığımız karşılaştırma sonucu false ise }
Yukarıdaki örnekte gördüğünüz gibi, bool değişken türüne karşılaştırma yaparak değer ataması yapıp, if else kullanarak işlemlerimizi yaptırabiliriz.
Tek satırlık If (Ternary If) de bu konuya giriyor ama daha önce yazdığım için buraya eklemedim. İlgili yazıma ulaşmak için tıklayınız.
C Sharp Eğitim Seti ve ERP Programlama ders listesine ulaşmak için tıklayınız.
C Sharp mantıksal ve karsilastirma operatorleri yazımda bu kadar arkadaşlar. Anlamadığınız bir kısım olursa yorum atabilirsiniz.
Sağlıcakla ve takipte kalın. ;)