C# String Compare

TP Okuru

Megapat
Katılım
20 Aralık 2014
Mesajlar
625
Çözümler
8
Yapmak istediğim şey 'mail' değişkeni '@' işaretini içeriyorsa bana false değer döndüren bir kod.

Böyle yaptım (string.Compare(mail,"@")==0) ama bu kod True değer döndürüyor. Bana İçeriyorsa False değer getirmesi lazım.
Yardımcı olabilecek var mı?
 
Olur mu bilemiyorum ama "(string.Compare(mail,"@")==0)" kodunu yazınca true değer dönüyorsa sizde (string.Compare(mail,"@")!=0) yapın.
 
Olur mu bilemiyorum ama "(string.Compare(mail,"@")==0)" kodunu yazınca true değer dönüyorsa sizde (string.Compare(mail,"@")!=0) yapın.
String.compare dediğiniz gibi çalışmıyor. -1 0 +1 değerleri var ve false değer vermiyor.

Tam kodu atabilirseniz daha güzel olabilir. Böyle tam aklımda canlandıramadım.

Tam kod böyle. Kayıt ol butonuna bastığımda if içerisindeki kontrolleri bitirip sorun yok ise veri tabanına kullanıcıyı kaydedecek. IF'in içi komple olumsuz değer getiriyor. Mail karşılaştırması hariç.
Tek IF ile yapmam lazım çünkü bağlantı.open(); sorun çıkartıyor.

o yüzden mail değişkeni içinde @ var ise false değer getiren bir karşılaştırma yapmam gerekiyor.
umarım anlatabilmişimdir.

Karşılaştırdğım şeyler girilen iki şifre eşit olacak, hiçbir alan boş bırakılmayacak ve mail içinde @ olacak.
 
// string type
String str = "GeeksforGeeks";
String substr1 = "for";
String substr2 = "For";

// using String.Contains() Method
Console.WriteLine(str.Contains(substr1));

// Here case-sensitive comparision
// And substr2 value is 'For'
// So its return false
Console.WriteLine(str.Contains(substr2));

Console.WriteLine(str.Contains(substr1)) --->>> TRUE
Console.WriteLine(str.Contains(substr2)) --->>> FALSE

Kodları incele.
 

C#:
        bool deger;
        string a = "n@yeon";
        for(int i=0; i<a.Length; i++)
        {
            if(a[i] == '@')
            {
                deger = false;
                Console.Write(deger.ToString());
            }
        }
 

True değeri if döngüsü içinde ayrı bir integer atayarak, o ayrı integer değerini eğer çıktı 1 ise değeri 0 yap diyip integer değerini kullanabilirsin bu sayede integer değerin 0 olmuş olur.

Ayrıca bağlantı neden bir hata çıkarıyor anlamış değilim çıkarmaması gerek.
 
Cevap veren herkese teşekkürler ama size ayrı teşekkür ederim. Sizin yöntem bana ilham verdi.
Sorunu şöyle çözdüm.


C#:
int sonuc=0;
sonuc = mail.IndexOf(kontrol, 0, mail.Length - 1);
if(sonuc<=0)

Bu yazım if içine eğer mail içinde @ varsa false değer gelmesini sağladı.
 
Son düzenleme:
Merhaba, biraz uzun yoldan yapmissiniz. .Net 4.5 framework'unda String Contains class'i mevcut. Bu class'a search edilecek String ve harfi verirseniz size kelimenin icinde bulunursa true ifadesini doner.
Su sekilde deneyebilirsiniz;

String word = "abcdse@asda";
String letterToCheck = "f";
Boolean existsOrNot = !word.Contains(letterToCheck);

Console.WriteLine(existsOrNot.ToString());

Basina da ! koydum ki icerirse false donsun.

surada calistirarak gorebilirsiniz C# Online Compiler | .NET Fiddle

Iyi calismalar
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…