merhaba arkadaşlar şimdi burada kullanıcıdan aldığımız tc 11 haneli ve hepsi rakam ise hata vermiyor ayn şöyle yazdırıyor 12345****** ama içinde bir rakam varsa veya 11 haneli değilse ekrana "TC kimlik no 11 haneli olmak zorundadır." veya "TC kimlik no sadece sayılardan oluşmalıdır." hatalarından herhangi birini yazdırdıktan sonra da return tcno.Substring(0, 5) + "******"; de takılı kalıyor if(kontrol == false) ise return tcno.Substring(0, 5) + "******"; döndür dedim ama hata aldım nasıl çözebilirim yardımlarınızı bekliyorum static void Main(string[] args) { Ornek o1 = new Ornek(); Console.Write("Lütfen TC kimlik numaranızı giriniz : "); o1.TCNO = Console.ReadLine(); Console.WriteLine("TC kimlik numaranızın ilk 5 karakteri : " + o1.TCNO); Console.ReadKey(); public class Ornek { private string tcno; public string TCNO { get { return tcno.Substring(0, 5) + "******"; } set { bool kontrol = false; if (value.Length == 11) { for (int a = 0; a < value.Length; a++) { bool sayiMİ = char.IsNumber(value[a]);
if(sayiMİ) { } else { kontrol = true; break; } } if (kontrol == true) { Console.WriteLine("TC kimlik no sadece sayılardan oluşmalıdır."); } else { tcno = value; } } else { Console.WriteLine("TC kimlik no 11 haneli olmak zorundadır."); } } } } |
c# yardım
-
-
Hata aldığın koşullarda tcno yu set etmediğin için null kalır ve substring yapmaya çalıştığın zaman hata alırsın.
< Bu ileti mobil sürüm kullanılarak atıldı > -
quote:
Orijinalden alıntı: bersgurs
Hata aldığın koşullarda tcno yu set etmediğin için null kalır ve substring yapmaya çalıştığın zaman hata alırsın.nasıl çözebilirim
-
Validasyonu field in set işlemine değilde ayrı method olarak yazarsan sorunun çözülecektir
< Bu ileti Android uygulamasından atıldı > -
had python olsa anlarımda c# gibi bir dil senin nerede hata yaptığını söylüyor be kardeşim.
-
using System;
namespace issue
{
class Program
{
static void Main(string[] args)
{
string i_tcNumber;
Console.Write("Lütfen TC kimlik numaranızı giriniz : ");
i_tcNumber=Console.ReadLine();
tcControl(i_tcNumber);
Console.ReadKey();
}
public static void tcControl(string tcNumber){
bool status=true;
string print_value;
if(tcNumber.Length!=11){
status=false;
}
if(tcNumber.Length==11){
char[] controller=tcNumber.ToCharArray();
for(int i=0;i<tcNumber.Length;i++){
if(!char.IsNumber(controller[i])){
status=false;
break;
}
}
}
if(status){
if(tcNumber.Length>=5){
print_value=tcNumber.Substring(0,5) + "******";
System.Console.WriteLine("Girdiğiniz TC numarası:"+print_value);
}
}
if(!status){
print_value="Girdiğiniz değerin sadece rakamlardan ve 11 haneden oluştuğundan emin olunuz.";
System.Console.WriteLine(print_value);
}
}
}
}
-
merhaba c# ta hesap makinesi yapmaya çalışıyorum takıldığım bir konu var yardımcı olabilirmisiniz lütfen ?
-
hocam 1 e bastığım zaman label 1 e yazdırıyorum ama label 2 ye işlem sembolü koyup 2. sayıyı label 3 ye nasıl yazacağımı bulamadım
Bu mesaj IP'si ile atılan mesajları ara Bu kullanıcının son IP'si ile atılan mesajları ara Bu mesaj IP'si ile kullanıcı ara Bu kullanıcının son IP'si ile kullanıcı ara
KAPAT X