wmaraci reklam
lidertakipci

C# Char.IsNumber ile Texti nasıl kontrol ettiririm ?

9 Mesajlar 4.533 Okunma
advertseo
wmaraci reklam

PorFavorDama PorFavorDama WM Aracı Kullanıcı
  • Üyelik 20.01.2014
  • Yaş/Cinsiyet 28 / E
  • Meslek -
  • Konum Adana
  • Ad Soyad B** K**
  • Mesajlar 511
  • Beğeniler 152 / 44
  • Ticaret 0, (%0)
Merhaba arkadaslar bır odevım var girilen textın sayı mı yazı mı oldugunu char.ısnumber , char.ısletter ile kontrol ettırmem gerekıyor fakat ben donguyu kuramadım bayagı da arastırdım fakat bır turlu yapamadım. Nasıl bır yol izlemeliyim yardım eder misiniz ?
 

 

wmaraci
reklam

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)
char ile karakter, karakter kontrol edersin. karakter karakter kontrol edeceksen.

str: girilen text

char[] chars = new char[str.Length];
foreach (char c in chars)
{
if (char.IsLetter(c) || char.IsWhiteSpace(c))
{
Console.WriteLine(char + " harf");
}else if (char.IsNumber(c)){
Console.WriteLine(char + " numara");
}
}


Sen girilen text'in yazımı, sayımı olduğunu kontrol etmek istiyorsan.


str: girilen text
int val;
if (int.TryParse(str, out val))
{
// Numerik değer
}else{
// Yazı değer
}

Regex ile çözümü;

bool isNumber = Regex.IsMatch(str, @"^\d+$");
if(isNumber){
// Numerik değer
}


Bu tür soruların cevabını google'da çokca bulabilirsin.
PorFavorDama

kişi bu mesajı beğendi.

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)

PorFavorDama PorFavorDama WM Aracı Kullanıcı
  • Üyelik 20.01.2014
  • Yaş/Cinsiyet 28 / E
  • Meslek -
  • Konum Adana
  • Ad Soyad B** K**
  • Mesajlar 511
  • Beğeniler 152 / 44
  • Ticaret 0, (%0)

Turgay Can adlı üyeden alıntı

char ile karakter, karakter kontrol edersin. karakter karakter kontrol edeceksen.

str: girilen text

char[] chars = new char[str.Length];
foreach (char c in chars)
{
if (char.IsLetter(c) || char.IsWhiteSpace(c))
{
Console.WriteLine(char + " harf");
}else if (char.IsNumber(c)){
Console.WriteLine(char + " numara");
}
}


Sen girilen text'in yazımı, sayımı olduğunu kontrol etmek istiyorsan.


str: girilen text
int val;
if (int.TryParse(str, out val))
{
// Numerik değer
}else{
// Yazı değer
}

Regex ile çözümü;

bool isNumber = Regex.IsMatch(str, @"^\d+$");
if(isNumber){
// Numerik değer
}


Bu tür soruların cevabını google'da çokca bulabilirsin.


Öncelikle teşekkür ederim hocam.
Evet saatlerdir google da araştırıyorum sonuçta bulunuyor fakat bazı sonuçlar benim bilgimi aşıyor ya da anlamıyorum. Yınede öğrenmeye calısıyorum.
Teşekkür ederim.
Birde windows form app da kod yazıyorum hocam.
 

 

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)
Türkçe Msdn grubu olması gerekiyor yada dökümentasyonu, orada bu tür temel bilgiler hakkında bilgi edinebilirsin.

Tavsiyem kitap almanız yönündedir. Kitap bir yazılımcının en güzel dostudur.
 

 

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)
wmaraci
wmaraci

PorFavorDama PorFavorDama WM Aracı Kullanıcı
  • Üyelik 20.01.2014
  • Yaş/Cinsiyet 28 / E
  • Meslek -
  • Konum Adana
  • Ad Soyad B** K**
  • Mesajlar 511
  • Beğeniler 152 / 44
  • Ticaret 0, (%0)

Turgay Can adlı üyeden alıntı

Türkçe Msdn grubu olması gerekiyor yada dökümentasyonu, orada bu tür temel bilgiler hakkında bilgi edinebilirsin.

Tavsiyem kitap almanız yönündedir. Kitap bir yazılımcının en güzel dostudur.


Her yonuyle C# 5.0 diye bir kitap kullanıyorum hocam . Volkan Aktaş ın
 

 

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)
Kitaptan temel bilgileri, öğrenip. Onun üzerindeki her öğrendiğin özelliğin kodunu yaz. Temeli böylelikle oturtursun.

C# yazmayalı uzun süre oldu, o yüzden Volkan hocamız hakkında bilgim yok.

Elinde kitap olması sevindirici ;)
 

 

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)

PorFavorDama PorFavorDama WM Aracı Kullanıcı
  • Üyelik 20.01.2014
  • Yaş/Cinsiyet 28 / E
  • Meslek -
  • Konum Adana
  • Ad Soyad B** K**
  • Mesajlar 511
  • Beğeniler 152 / 44
  • Ticaret 0, (%0)

Turgay Can adlı üyeden alıntı

Kitaptan temel bilgileri, öğrenip. Onun üzerindeki her öğrendiğin özelliğin kodunu yaz. Temeli böylelikle oturtursun.

C# yazmayalı uzun süre oldu, o yüzden Volkan hocamız hakkında bilgim yok.

Elinde kitap olması sevindirici ;)


Teşekkür ederim bunuda hocalarımın tavsıyesı uzerıne almıştım .

Fakat şöyle söyleyebilirim bana göre kitaplar çok bilimsel gidiyor hocam.
Yani en başından bile bir sürü terim kullanılıyor ki bunları yenı baslayan bır ınsanın tek seferde anlayıp aklında tutması ımkansız .

(bkz:ben) :D

Ve şunu sorucam hocam peki ya girilen değer de hem yazı hem sayı varsa ? Regex için bahsediyorum.
 

 

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)
C# object oriented(nesne yönelimli) bir dildir. Object oriented'ın temelini öğrenmeden, direkt kod yazmaya başlarsan. Bir süre sonra yazdığın kod, çöp koda dönüşür.

Tavsiyem öncelikle object oriented prensiplerini öğrenmen yönündedir. Inheritance(kalıtım), Polymorphism(Çok şekillik), Encapsulation(kapsülleme) ve encapsulation altındaki public, private, protected gibi terimlere aşina olmak gerek.

Sonra fonksiyonlar üzerine kod yazmayı ve kodu sınıflara ayırmaya başladığınızda bu terimlerin mükemmel faydasını görürsünüz.

Gerçek hayatta düşündüğünüz her nesneyi, programlama diline çevirirken yazdığınız kod hem okunabilir hemde oldukça anlamlı olacaktır.

Basit bir örnek vereyim;

Kalem bizim nesnemiz olsun.

Nesne = Class(Sınıf) yani Kalem diye bir sınıf yaratalım.

Kalem'i(kurşun kalem) oluşturan özellikler nelerdir. grafit (karbonla karıştırılmış kil) ve ahşap.

Kalem ne işe yarar : yazmak için kullanılır.

//Yazacağım kodlar java kodudur, c#'ada çok benzer maksat, düşünme ve aktarım gücüne katkıda bulunmak

Kalem sınıfımız.

public class Kalem(){

private String grafit;
private String ahsap;

public Kalem(String grafit, String ahsap){
this.grafit = grafit;
this.ahsap = ahsap;
}

public String getGrafit(){
return grafit;
}

public void setGrafit(String grafit){
this. grafit = grafit;
}

public String getAhsap(){
return ahsap;
}

public void setAhsap(String ahsap){
this.ahsap = ahsap;
}


}


Şuanda kalem sınıfımızı oluşturdur. Geçelim ikinci kısıma ne tür davranış gösterecek kalemimiz. yazmak eylemini gerçekleştirecek.

yazmak Kalem sınıfı için bir metod(fonksiyon)'dur.

public void yazmak(){
System.out.println("Kalem yazı yazıyor..");
}


Şimdi metodumuzu sınıfımızın içine ekleyelim.

public class Kalem(){

private String grafit;
private String ahsap;

public Kalem(String grafit, String ahsap){
this.grafit = grafit;
this.ahsap = ahsap;
}

public String getGrafit(){
return grafit;
}

public void setGrafit(String grafit){
this. grafit = grafit;
}

public String getAhsap(){
return ahsap;
}

public void setAhsap(String ahsap){
this.ahsap = ahsap;
}

public void yazmak(){
System.out.println("Kalem yazı yazıyor..");
}

}


Kodumuzu çalıştırmak için bir main sınıf yazalım.

public class TestApp(){

public static main void (String[] args){
//new operatörü varolan cansız bir sınıfı, canlı hale getirir. Programlamada buna instance denir. Yani bir obje yaratmış oluyorsunuz. Bi aşağıdaki kodda Kalem sınıfını yaratmış olduk.
//Kalem sınıfının constructor'ı iki parametre alıyor String, o yüzden constructor'ına iki String değer verdim
Kalem kalem = new Kalem("grafit maddesi", "ahsap maddesi");
//yazmak metodunu çağırarak, kalem sınıfının yazma becerisini kullandım.
kalem.yazmak();
}


Olayı dahada açarsak ;

Mesela senin dolma kalemin, kurşun kalemin ve tükenmez kalemin olsun. Sen bu kalemler için bir yazılım yapcaksın. buradada object oriented prensiplerinden kalıtım ve çok şekillikten yararlanman gerekecek. Onuda daha müsait bir zaman diliminde yazarım.


Programlamada esas olan bu kavramları sindirmektir. Yazıyı al, ona, çevir, çarp, böl çıkar işin keyifli tarafıdır ;)




}

Ek Olarak:

PorFavorDama adlı üyeden alıntı

Teşekkür ederim bunuda hocalarımın tavsıyesı uzerıne almıştım .

Fakat şöyle söyleyebilirim bana göre kitaplar çok bilimsel gidiyor hocam.
Yani en başından bile bir sürü terim kullanılıyor ki bunları yenı baslayan bır ınsanın tek seferde anlayıp aklında tutması ımkansız .

(bkz:ben) :D

Ve şunu sorucam hocam peki ya girilen değer de hem yazı hem sayı varsa ? Regex için bahsediyorum.


Regex'i ona göre düzenlersin. Benim yazdığım sadece sayılar içindi mesela ;

Sen "1234a" yazarsan Regex sana false değer dönecektir. "1234" yazarsan true değer dönecektir.

http://www.regular-expressions.info/dotnet.html

Burada .net framework'üne ait, regex tanımlamaları mevcut lakin ingilizce bu meslekte şart bilgin olsun. Olmadı translatorlar kullan. Bilmen avantajınadır ;)
PorFavorDama

kişi bu mesajı beğendi.

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)

PorFavorDama PorFavorDama WM Aracı Kullanıcı
  • Üyelik 20.01.2014
  • Yaş/Cinsiyet 28 / E
  • Meslek -
  • Konum Adana
  • Ad Soyad B** K**
  • Mesajlar 511
  • Beğeniler 152 / 44
  • Ticaret 0, (%0)

Turgay Can adlı üyeden alıntı

C# object oriented(nesne yönelimli) bir dildir. Object oriented'ın temelini öğrenmeden, direkt kod yazmaya başlarsan. Bir süre sonra yazdığın kod, çöp koda dönüşür.

Tavsiyem öncelikle object oriented prensiplerini öğrenmen yönündedir. Inheritance(kalıtım), Polymorphism(Çok şekillik), Encapsulation(kapsülleme) ve encapsulation altındaki public, private, protected gibi terimlere aşina olmak gerek.

Sonra fonksiyonlar üzerine kod yazmayı ve kodu sınıflara ayırmaya başladığınızda bu terimlerin mükemmel faydasını görürsünüz.

Gerçek hayatta düşündüğünüz her nesneyi, programlama diline çevirirken yazdığınız kod hem okunabilir hemde oldukça anlamlı olacaktır.

Basit bir örnek vereyim;

Kalem bizim nesnemiz olsun.

Nesne = Class(Sınıf) yani Kalem diye bir sınıf yaratalım.

Kalem'i(kurşun kalem) oluşturan özellikler nelerdir. grafit (karbonla karıştırılmış kil) ve ahşap.

Kalem ne işe yarar : yazmak için kullanılır.

//Yazacağım kodlar java kodudur, c#'ada çok benzer maksat, düşünme ve aktarım gücüne katkıda bulunmak

Kalem sınıfımız.

public class Kalem(){

private String grafit;
private String ahsap;

public Kalem(String grafit, String ahsap){
this.grafit = grafit;
this.ahsap = ahsap;
}

public String getGrafit(){
return grafit;
}

public void setGrafit(String grafit){
this. grafit = grafit;
}

public String getAhsap(){
return ahsap;
}

public void setAhsap(String ahsap){
this.ahsap = ahsap;
}


}


Şuanda kalem sınıfımızı oluşturdur. Geçelim ikinci kısıma ne tür davranış gösterecek kalemimiz. yazmak eylemini gerçekleştirecek.

yazmak Kalem sınıfı için bir metod(fonksiyon)'dur.

public void yazmak(){
System.out.println("Kalem yazı yazıyor..");
}


Şimdi metodumuzu sınıfımızın içine ekleyelim.

public class Kalem(){

private String grafit;
private String ahsap;

public Kalem(String grafit, String ahsap){
this.grafit = grafit;
this.ahsap = ahsap;
}

public String getGrafit(){
return grafit;
}

public void setGrafit(String grafit){
this. grafit = grafit;
}

public String getAhsap(){
return ahsap;
}

public void setAhsap(String ahsap){
this.ahsap = ahsap;
}

public void yazmak(){
System.out.println("Kalem yazı yazıyor..");
}

}


Kodumuzu çalıştırmak için bir main sınıf yazalım.

public class TestApp(){

public static main void (String[] args){
//new operatörü varolan cansız bir sınıfı, canlı hale getirir. Programlamada buna instance denir. Yani bir obje yaratmış oluyorsunuz. Bi aşağıdaki kodda Kalem sınıfını yaratmış olduk.
//Kalem sınıfının constructor'ı iki parametre alıyor String, o yüzden constructor'ına iki String değer verdim
Kalem kalem = new Kalem("grafit maddesi", "ahsap maddesi");
//yazmak metodunu çağırarak, kalem sınıfının yazma becerisini kullandım.
kalem.yazmak();
}


Olayı dahada açarsak ;

Mesela senin dolma kalemin, kurşun kalemin ve tükenmez kalemin olsun. Sen bu kalemler için bir yazılım yapcaksın. buradada object oriented prensiplerinden kalıtım ve çok şekillikten yararlanman gerekecek. Onuda daha müsait bir zaman diliminde yazarım.


Programlamada esas olan bu kavramları sindirmektir. Yazıyı al, ona, çevir, çarp, böl çıkar işin keyifli tarafıdır ;)




}

Ek Olarak:

Regex'i ona göre düzenlersin. Benim yazdığım sadece sayılar içindi mesela ;

Sen "1234a" yazarsan Regex sana false değer dönecektir. "1234" yazarsan true değer dönecektir.

http://www.regular-expressions.info/dotnet.html

Burada .net framework'üne ait, regex tanımlamaları mevcut lakin ingilizce bu meslekte şart bilgin olsun. Olmadı translatorlar kullan. Bilmen avantajınadır ;)


Öncelikle teşekkür ederim hocam uğraşıp bu kadar anlattığınız için. Evet tabi dil farklı olduğundan biraz farklı geldi yinede anladım hocam söylediğim gibi deneyerek öğrenmek , kurcalayarak öğrenmek ya da sizler gibi bilen birilerine danışarak öğrenmek çok mantıklı geliyor . Özellikle açıp araştırmak yeni bir şeyler yazabildiğini keşfetmek en kötüsünden 2 saattir aradığım bu yazı mı sayı mı kodlarını yazabildiğini , işleyişini anlamak insanı mutlu ediyor :)

Ve dediğiniz gibi biraz ingilizce ve mantıkla aslında söylendiği gibi "DİL" yani bunuda akıcı konuşabiliyorsunuz :)

Ek Olarak:

Turgay Can adlı üyeden alıntı


Ek Olarak:

Regex'i ona göre düzenlersin. Benim yazdığım sadece sayılar içindi mesela ;

Sen "1234a" yazarsan Regex sana false değer dönecektir. "1234" yazarsan true değer dönecektir.

http://www.regular-expressions.info/dotnet.html

Burada .net framework'üne ait, regex tanımlamaları mevcut lakin ingilizce bu meslekte şart bilgin olsun. Olmadı translatorlar kullan. Bilmen avantajınadır ;)


Hocam bugun işlemiştik şimdi hatırladım ama zaten "asdadad12312" bir string grubu olmuş olmuyor mu yanı bunuda string olarak değerlendirmeliyiz ? Yani en azından hocamızın bıze soyledıgı buydu. Çünkü öbür türlü çok ileri gitmiş oluyor çünkü bu paylaştığınız kodların hıcbırını zaten bıze ogretmemişti ben + olarak ogrenıp anlatımlarını arkadaslarıma yapmaya calısıyorum :)
 

 

wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al